我不确定术语,所以在寻找潜在客户时遇到一些麻烦.
基本上假设我有类似的东西
<book>
<genre>sci-fi</genre>
<genre>happy</genre>
</book>
<book>
<genre>romance</genre>
</book>
Run Code Online (Sandbox Code Playgroud)
我想查询一些没有"科幻"作为其中一种类型的书籍.我尝试了一些简单的事情
//book[//book/genre != "sci-fi"]
Run Code Online (Sandbox Code Playgroud)
认为它将返回所有没有具有"科幻"价值的流派元素的书籍,但它仍将返回第一个,因为它的一个类型不是"科幻"
另外,我怎么会以一种让人们知道我在说什么的方式来表达这个问题呢?
方括号的术语是谓词.您正在寻找没有带有"sci-fi"文本的名为genre的子元素的书的元素.这个将匹配所有至少有一个非科幻类型的书籍.
//book[genre != "sci-fi"]
Run Code Online (Sandbox Code Playgroud)
以下将做你想要的:
//book[not(genre = 'sci-fi')]
Run Code Online (Sandbox Code Playgroud)
请注意,然后您可以在其末尾添加其他路径,因此如果您的图书中有一个title元素,您可以获得所有标题:
//book[not(genre = 'sci-fi')]/title
Run Code Online (Sandbox Code Playgroud)