使用 Xpath 表达式检查引用其他元素的 xml 个元素
Using an Xpath expression to check xml elements that refer to other elements
假设我有一个 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。
这可能吗?
当然可以:
//invoice[product = /root/products/product/name]
或:
//invoice[product = //products/product/name]
输出:
<invoice number="1">
<product>myproduct 1</product>
</invoice>
假设我有一个 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。
这可能吗?
当然可以:
//invoice[product = /root/products/product/name]
或:
//invoice[product = //products/product/name]
输出:
<invoice number="1">
<product>myproduct 1</product>
</invoice>