XPath 选择某个属性值等于其他节点属性值的节点

标签 xpath

<grand id="grand">
  <parent>
    <child age="18" id="#not-grand"/>
    <child age="20" id="#grand"/> <!-- This is what I want to locate -->
  </parent>
</grand>

谁能告诉我如何表达找到第二个 child 吗?

这不起作用...

"/grand/parent/child[@id=concat('#',/grand/@id)]/@age"

谢谢。

<小时/>

对不起。表情没问题。我发现我在其他区域遇到了一些问题,而不是表达式本身。

最佳答案

此 XPath 特定于您提供的代码片段。选择<child> id 为 #grand你可以写//child[@id='#grand'] .

获取年龄//child[@id='#grand']/@age .

关于XPath 选择某个属性值等于其他节点属性值的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6055432/

相关文章:

xpath - 一行 nokogiri xpath 查找

xml - 将属性值的 XML 序列转换为字符串?

selenium - Selenium 可以评估所有 XPath 元素吗?

xpath - Xpath:查找标签中未包含的数据

python - 如何在Python中使用xpath打印特定标签中的所有文本?

xml - 如何转换基本 XML 架构以适应不同用途?

Selenium WebDriver 或 Selenium RC 的 xpath 和 cssSelector

c# - 更改 Xml 声明,或选择没有声明部分的 xml

java - SaxonApiException : The supplied node has been schema-validated, 但 XPath 表达式是在没有模式感知的情况下编译的

python - 使用scrapy在没有javascript代码的情况下抓取文本