【问题标题】:XPath matching leaf nodesXPath 匹配叶节点
【发布时间】:2012-05-15 00:10:16
【问题描述】:

我想写一个 XPath 表达式,如果它是叶节点则返回 true..

我怎样才能做到这一点..

//a[not(node()] 

这样的?

谢谢

【问题讨论】:

    标签: xml xpath


    【解决方案1】:

    当且仅当上下文节点没有子节点时返回 true 的表达式是:

    not(child::node())
    

    【讨论】:

      【解决方案2】:

      文本等也是节点,因此您可能想要这个:

      not(*)
      

      【讨论】:

      • 我不知道为什么这个答案被接受了,因为它是错误的。对于没有元素节点子节点的节点,这是真的。但是“叶”节点的正常定义是完全没有任何类型的子节点的节点。当然,除非提问者和回答者都使用“节点”这个词来表示“元素”??
      • @MichaelKay,我同意你在术语问题上的看法。但是,考虑到问题的措辞方式,我假设不是任何节点而是元素节点,例如测试节点是否为叶元素。这就是为什么我说“你可能想要这个”——而不是“这就是答案”。
      猜你喜欢
      • 2018-04-18
      • 1970-01-01
      • 1970-01-01
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多