xml - XPath 中 != 和 not 有什么区别

标签 xml database xpath

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

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

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

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

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

因此,如果我问:我从第一个请求中获得了多少书,以及从第二个请求中获得了多少书。

在上面的示例中,有 2 个请求,我是否会得到最后一本书“book3”元素作为结果?

谢谢。

最佳答案

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

表示“选择不包含等于'one'title属性的图书节点”

  • //书[not(@title)]

表示“根本不包含title属性的图书节点”

第一个可以用 not() 编写为 //book[not(@title="one")]

关于xml - XPath 中 != 和 not 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51972677/

相关文章:

database - 如何处理 R 中的二进制字符串?

sql - 检查哪些 View 有行

xml - XSLT 1.0 : copy everything except certain nodes according to value and variable

xml - 根据属性值验证元素

android - 设置数据绑定(bind)时出现 Kotlin 错误

xml - 在 R 中抓取受密码保护的网站

java - XPATH - 如何从网页获取文本?

c# - 如何在C#中将Badgerfish样式的JSON转换为.NET对象或XML?

database - 有关 PostgreSQL 服务重新加载的文档不会中断打开的事务?

html - 通过 XPath 1.0 连接可变数量的元素字符串值?