Code Bye

XML读取某一个节点下的相同子节点的数时,一直为1,是怎么回事

XML:
<A>
<UInfo>
<UTime Date=”2014-10-22″ />
<Version Num=”1.0.0.0″ />
<USize Size=”32027″ />
</UInfo>
<UList>
<UFile>\11.txt</UFile>
<UFile>\22.txt</UFile>
<UFile>\33.txt</UFile>
</UList>
</A>
程序:
Stream sm = wc.OpenRead(“E://aa.xml”);
ds.ReadXml(sm);
DataTable dt = ds.Tables[“UList”];
StringBuilder sb = new StringBuilder();
COUNT = dt.Rows.Count; 此处count一直为1,问一下什么原因?
解决方案

15

这是标准的dataset序列化成的xml?怎么看都不是!

10

雖然不知道為何count為1,但是看到你讀.xml文檔用File.OpenRead(),感覺怪怪的。
打個比方,本人通常都這樣用:
XElement xe = XElement.Load("E://aa.xml");
XElement subFun = xe.Element("UList");
var tmpList=from target in subFun.Elements("UFile") select target;    //用Linq會比較方便
foreach(var UList in tmpList)
{
    //對子項目進行操作
}

10

引用 6 楼 jing_xin 的回复:
Quote: 引用 4 楼 t_kong 的回复:

雖然不知道為何count為1,但是看到你讀.xml文檔用File.OpenRead(),感覺怪怪的。
打個比方,本人通常都這樣用:

XElement xe = XElement.Load("E://aa.xml");
XElement subFun = xe.Element("UList");
var tmpList=from target in subFun.Elements("UFile") select target;    //用Linq會比較方便
foreach(var UList in tmpList)
{
    //對子項目進行操作
}

错误 10 未能为源类型“System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>”找到查询模式的实现。找不到“Select”。能否缺少对“System.Core.dll”的引用或未使用“System.Linq”的指令?

引用一下System.Xml.Linq 啊, 他这种是linq to xml的方式。

5

引用 9 楼 jing_xin 的回复:

 引用过的,还是不行

引用了之后,报什么错,发出来;解决问题不要心急,一步一步来,这样你会收货更多。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明XML读取某一个节点下的相同子节点的数时,一直为1,是怎么回事