我有这个XML:
<rootCategories>
<category id="1">
<category id="2">
<category id="3">
<category id="4" />
<category id="5" />
<category id="6" />
</category>
<category id="7" />
</category>
</category>
</rootCategories>
Run Code Online (Sandbox Code Playgroud)
我有这个LINQ声明:
int count = doc.XPathSelectElements("//category").Elements().Count();
Run Code Online (Sandbox Code Playgroud)
我想要的是所有"类别"元素,基本上,扁平成一个数组,然后我可以预约.
问题是返回的计数值(如果被淘汰,返回的数组)显示没有返回最顶层的类别元素.在这种情况下,我得到6个"类别"元素返回,而不是7.
我正在使用从[本页]学到的XPath( http://www.developer.com/xml/article.php/10929_3383961_1/NET-and-XML-XPath-Queries.htm).
有人可以告诉我为什么以及如何解决这个问题?XPath查询中有问题吗?
好吧,这证明一个良好的睡眠是大多数问题(或者至少是我的)的答案,因为解决方案只是删除:
.Elements()
Run Code Online (Sandbox Code Playgroud)
来自LINQ声明.
当然,该调用仅返回XPathSelectElements语句返回的那些元素的内部元素.
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |