我正在尝试选择属性值大于1的 Headers 值:
path="//book/price[@value >1]
我不确定如何只选择元素价格的属性值大于1的 Headers . 我是一名XML初学者,我正在从教程中做一些练习 .
我的优先事项是
-
学习XML
-
超级XML
XML:
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<price value="1">49.99</price>
</book>
<book>
<title lang="en">Learning XML</title>
<price value="2">29.95</price>
</book>
<book>
<title lang="en">super xml</title>
<price value="3">39.95</price>
</book>
</bookstore>
Update
第一个查询是完美的,你能告诉我如何从嵌套元素中获取它吗?
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<possibleprice>
<price value="1">49.99</price>
</possibleprice>
</book>
<book>
<title lang="en">Learning XML</title>
<possibleprice>
<price value="2">29.95</price>
</possibleprice>
</book>
<book>
<title lang="en">super xml</title>
<possibleprice>
<price value="3">39.95</price>
</possibleprice>
</book>
</bookstore>
1 回答
例如:
对于OP的第一个版本:
输入:
XPath的:
结果:
对于更新的第二个XML版本的OP,作为不同的示例:
XPath的:
与上面的结果相同 .
要回答评论中的问题,如果有必要在第二个版本中使用previous-sibling两次:no .
preceding-sibling
以当前节点的preceding-sibling
为目标 . 在这种情况下,当前节点是价格,没有兄弟姐妹,但parent
可能的价格 . 为了以上面给出的不同方式得到相同的结果,可以获得parent
的价格,然后是preceding-sibling
的可能价格:结果相同 .
如前所述,OP是XML的初学者,可能以下内容可用于说明XPath轴:http://www.xmlplease.com/axis