想象一下,我有一个XML结构:
<root>
<products>
<product>
<name>myproduct 1</name>
</product>
<product>
<name>myproduct 2</name>
</product>
</products>
<invoices>
<invoice number="1">
<product>myproduct 1</product>
</invoice>
<invoice number="2">
<product>myproduct 3</product>
</invoice>
</invoices>
</root>
我需要一个XPath表达式来仅查找产品元素所在的发票元素(因此发票中的产品与产品名称相匹配)。因此,在这种情况下,它会找到发票1,但不会找到发票2。
这可能吗?
答案 0 :(得分:1)
当然有可能:
//invoice[product = /root/products/product/name]
或:
//invoice[product = //products/product/name]
<强> xpathtester demo
强>
输出
<invoice number="1">
<product>myproduct 1</product>
</invoice>