如何通过 XPath 来寻址选择器不在其上方(但在同一级别)的元素?
例如我想要名称为 B 的项目的值。不确定是否要这样做,因为名称和值不处于父关系中。
<root>
<item>
<name>A</name>
<value>1</value>
</item>
<item>
<name>B</name>
<value>2</value>
</item>
<item>
<name>C</name>
<value>3</value>
</item>
</root>
最佳答案
这可以简单地完成如下:
//item[./name='B']/value
这字面意思是:查找包含 name
= "B"的直接子元素的 item
元素 -> 查找此 item
元素直接子元素 值
。
如果 name
和/或 value
不是 item
的直接子代,上面的表达式将是
//item[.//name='B']//value
另一种方法,如果每个item
内部只有单个name
和单个value
可以是:
//item[name='B']/following-sibling::value
关于xml - XPath:通过非父选择器寻址值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70565165/