在上面的xml示例中,我想使用xpath选择属于类foo而不是在类bar中的所有书。
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book class="foo"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book class="foo bar"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book class="foo bar"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
通过用前导和尾随空格填充@class值,您可以测试“foo”和“bar”的存在,而不必担心它是第一个,中间还是最后,以及对“食物”的任何假阳性点击“barren”@class值:
原文链接:https://www.f2er.com/xml/293537.html/bookstore/book[contains(concat(' ',@class,' '),' foo ') and not(contains(concat(' ',' bar '))]