我有以下xml
:
<Products>
<Product>
<name>Sample name</name>
<attribute id="sampleid" location="sampleLocation" type="sampleType"/>
<price>12345</price>
</product>
</Products>
如何从此XML返回给定名称的以下数据(始终唯一):
1. location (e.g. "sampleLocation")
2. type (e.g. "sampleType")
3. price (e.g. 12345
我目前能够单独查询每个 以返回值,但我不确定将多个值一起返回的语法。
位置的单个查询示例:
ResourceSet resourceSet = service.query(
format("//Products/Product[name='%s']" +
"/attribute/@Location/string()"
, StringEscapeUtils.escapeXml(journey_Name)
));
上面的查询将返回:“sampleLocation”。
答案 0 :(得分:1)
以下查询返回三个字符串的序列:
/Products/Product/(string(attribute/@location), string(attribute/@type), string(price))
如何将三个字符串的序列返回到Java应用程序取决于您使用的XQuery处理器和API,您还没有告诉我们。