1

我正在尝试使用 C# 中的 XPath 查询解析一些 XML 数据。但是我的查询没有成功找到我正在寻找的元素(它什么也没找到)。

我的 XPath 查询出了什么问题?我的语法following-sibling不正确还是什么?如何编辑我的 XPath 以找到正确的value元素?

<attributes>
  <real>
    <name>cover rl</name>
    <value>89.87414122</value>
  </real>
  <real>
    <name>pit depth</name>
    <value>2.35620671</value> <!-- This is the value I need -->
  </real>
<attributes>

我的 XPath 查询失败:

ns:attributes/real/name[text() = 'pit depth']/following-sibling::value
4

1 回答 1

1

你很近。大多数情况下摆脱虚假的ns:命名空间前缀。另请注意,您的示例输入 XML 应以结束</attributes>元素而不是另一个开始<attributes>元素结尾

所以,这个 XPath:

/attributes/real/name[. = 'pit depth']/following-sibling::value

将产生:

<value>2.35620671</value>

根据您的要求。

如果您只想要元素的内容value

/attributes/real/name[. = 'pit depth']/following-sibling::value/text()

将产生:

2.35620671
于 2013-11-04T01:28:29.877 回答