当该价格手册的货币为“GBP”时,我必须按名称“product-id”获取所有属性。使用 xpath 时,此表达式工作正常。但是当我使用 xpath3 时,它只返回第一个匹配值而不是所有值。我需要的只是 xpath3 中 xpath 的等效表达式
工作 xpath 表达式:
#[xpath:/pricebooks/pricebook[./header/currency ="GBP"]/price-tables/price-table/@product-id]
我试过的xpath表达式:
#[xpath3('/pricebooks/pricebook[./header/currency ="GBP"]/price-tables/price-table/@product-id',payload,'STRING')]
预期:[产品1,产品2,产品4]
实际:产品1
输入 XML:
<pricebooks>
<pricebook>
<header pricebook-id="GB">
<currency>GBP</currency>
<display-name>name1</display-name>
</header>
<price-tables>
<price-table product-id="product1">
<amount quantity="1">24.0</amount>
</price-table>
</price-tables>
</pricebook>
<pricebook>
<header pricebook-id="NZ">
<currency>GBP</currency>
<display-name>name2</display-name>
</header>
<price-tables>
<price-table product-id="product2">
<amount quantity="1">38.00003</amount>
</price-table>
</price-tables>
</pricebook>
<pricebook>
<header pricebook-id="US">
<currency>USD</currency>
<display-name>name3</display-name>
</header>
<price-tables>
<price-table product-id="A215ZZ003">
<amount quantity="1">28.0</amount>
</price-table>
</price-tables>
</pricebook>
<pricebook>
<header pricebook-id="AU">
<currency>GBP</currency>
<display-name>name4</display-name>
</header>
<price-tables>
<price-table product-id="product4">
<amount quantity="1">30.0</amount>
</price-table>
</price-tables>
</pricebook>
</pricebooks>