XPath可以查找不包含满足条件的元素的节点并将其作为结果返回吗?例如:
如果我有这个:
<ShoppingCenter>
<bookstore>
<book>
<year>2005</year>
<comments> Boring! </comments>
</book>
</bookstore>
<bookstore>
<book>
<year>2005</year>
</book>
</bookstore>
<bookstore>
<book>
<year>2005</year>
<comments> Interesting! </comments>
</book>
</bookstore>
</ShoppingCenter>
结果,我想只得到那些没有带评论书的书店。
在这种情况下:第二家商店。
是否有可能?如果是这样-如何?
是的,您可以使用以下命令检查是否缺少节点not()
:
//bookstore[not(book/comments)]
演示(使用xmllint
):
$ xmllint input.xml --xpath "//bookstore[not(book/comments)]"
<bookstore>
<book>
<year>2005</year>
</book>
</bookstore>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句