【问题标题】:What's wrong with this XPath?这个 XPath 有什么问题?
【发布时间】:2010-06-18 08:12:29
【问题描述】:

我有这个 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>

我有这个 LINQ 语句:

int count = doc.XPathSelectElements("//category").Elements().Count();

我想要的是所有“类别”元素,基本上,平展成一个数组,然后我可以遍历。

问题是返回的计数值(如果取消,返回的数组)表明没有返回最顶层的类别元素。在这种情况下,我会返回 6 个“类别”元素,而不是 7 个。

我使用的是从 [this page] 学到的 XPath( http://www.developer.com/xml/article.php/10929_3383961_1/NET-and-XML-XPath-Queries.htm)。

有人能告诉我为什么以及如何解决这个问题吗? XPath 查询有问题吗?

【问题讨论】:

    标签: xml linq xpath


    【解决方案1】:

    好的,这证明睡个好觉是大多数问题(或者,至少是我的问题)的答案,因为解决方案只是消除:

    .Elements()
    

    来自 LINQ 语句。

    当然,该调用只返回 XPathSelectElements 语句返回的那些元素的内部元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 2012-03-28
      • 2012-05-26
      • 2021-08-20
      • 2015-09-23
      • 2021-02-27
      • 2012-03-10
      相关资源
      最近更新 更多