!=和XPath之间没有什么区别

时间:2018-08-22 18:01:23

标签: xml database xpath

我对XPath中!=not()之间的区别有疑问。

例如,这是我的XML数据库:

 <Books>
   <Book title="one">
      book1
   </Book >
   <Book title="one">
      book2
   </Book >
   <Book >
      book3
   </Book >
 </Books>

这两个XPath查询之间有什么区别?

  • //book[@title!='one']
  • //book[not(@title)]

因此,如果我要问:我从第一个请求得到多少本书,我从第二个请求得到多少本书。

在上面带有2请求的示例中,我是否将得到最后一本书的“ book3”元素?

谢谢。

1 个答案:

答案 0 :(得分:5)

  • //book[@title!="one"]

表示”选择不包含等于title的{​​{1}}属性的书节点”

  • 'one'

表示“完全不包含//book[not(@title)]属性的书节点”

可以用title作为not()来写第一个。