C#winForm读取XML的问题,求解决,分不是问题

<?xmlversion="1.0"encoding="utf-8"?><test><person><Name>No</Name><age>11</age><favori... <?xml version="1.0" encoding="utf-8"?>
<test>
<person>
<Name>No</Name>
<age>11</age>
<favorite>111</favorite>
</person01>
<person>
<Name>xx</Name>
<age>12</age>
<favorite>111</favorite>
</person01>
<person03>
<Name>cc</Name>
<age>111</age>
<favorite>11</favorite>
</person>
</test>

在listview里面有Name,age,favorite 三个Columns,
将上列的XML数据分别读取进去,,下面还有很多person

有多少读多少 。。请贴出完整代码,不用做解释,只需要代码,谢谢!分可以给
展开
 我来答
actonst
2013-02-07 · TA获得超过1.8万个赞
知道大有可为答主
回答量:8184
采纳率:80%
帮助的人:5271万
展开全部
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("test.xml");
foreach (XmlNode node in xmldoc.DocumentElement.SelectNodes("person"))
{
ListViewItem item = new ListViewItem(node["Name"].InnerText);
item.SubItems.Add(node["Name"].InnerText);
item.SubItems.Add(node["age"].InnerText);
item.SubItems.Add(node["favorite"].InnerText);
this.listview1.Items.Add(item);
}

把你的person后面的01、03都去掉。还有像Name、age这种在同一级别的标签,最好写法统一,要么大写要么小写,别给自己制造出错的机会。
bjnaji
2013-02-07
知道答主
回答量:4
采纳率:0%
帮助的人:5.7万
展开全部
你的XML的格式确实有些问题
我理解你就是想把一个LIst<Persion> 保存成XML再读回来,然后把读回来的内容直接绑定到listview完事
序列化代码:
public static void Save(string path, LIst<Persion> list)
{
try
{
var ser = new XmlSerializer(typeof(List<Persion>));
using (TextWriter tw = new StreamWriter(path))
{
ser.Serialize(tw, list);
tw.Flush();
}
}
catch (Exception ex)
{
}
}

反序列化代码:
public static IList<Persion> Load(string path)
{
try
{
var ser = new XmlSerializer(typeof(List<Persion>));
using (TextReader tr = new StreamReader(path))
{
var instance = (List<Persion>)ser.Deserialize(tr);
return instance;
}
}
catch (Exception ex)
{
}
return null;
}

把得到的结果直接绑定到ListView上面,设置好相关的Field即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哲事姓无
2013-02-07 · TA获得超过1176个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:445万
展开全部
貌似你的xml格式不合法,person/person01/person03标签没有正确的闭合。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Carlos小川
2013-02-07
知道答主
回答量:37
采纳率:0%
帮助的人:15.1万
展开全部
我去 这是xml么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式