Xpath获取具有与另一个节点匹配的属性的所有节点

时间:2016-03-04 22:33:33

标签: xpath

我想找到所有具有属性值与其他项目相同的节点。我有应该用于查找的项目和应该比较的属性。这可能吗?

<base src="www.placeholder.com"></base>
<parent src="www.test.com">
   <child name="child1" src="www.test.com"></child>
   <child name="child2" src="www.placeholder.com"></child>
   <child name="child3" src="www.test.com"></child>
</parent>

我想编写一个xpath查询,该查询获取与基本节点(child2)具有相同源的所有节点,但我无法将www.placeholder.com硬编码到我的xpath查询中。

1 个答案:

答案 0 :(得分:3)

假设整个XML片段都包含在根元素中,例如说<root>(否则它不是格式良好的XML),那么您可以使用以下XPath表达式:

//*[@src = /root/base/@src]

结果是所有元素,其中src属性等于base元素&#39; s src,包括base元素本身:

<base src="www.placeholder.com"/>

<child name="child2" src="www.placeholder.com"/>

可以运行实时演示示例here