XPath查询不匹配任何值

时间:2015-07-20 16:29:37

标签: xml xpath

XPATH是否提供始终不返回任何值的查询?

例如,给定这个简单的XML:

<foo>
    <bar>hello, world</bar>
</foo>

类型//noelement的XPATH查询显然不会返回任何元素,这很好,但感觉就像是黑客。

我想知道规范是否要求保留值永远不会匹配任何元素。像//NIL那样的有效XPATH查询,同时永远不会匹配任何元素。

1 个答案:

答案 0 :(得分:4)

James Clark(XPath 1.0编辑)wrote

  

Re:关于空节点集初始化的最佳实践

     

我喜欢&#34; /.."。我们确实考虑添加一个函数来返回一个空节点集,   但它并没有真正看到购买任何东西超过&#34; ../"。

当然,他邮件中的第二个xpath表达式是拼写错误。

因此,如果您想像经典使用那样编码&#34; /..":根节点的父节点根据定义不存在。好的XPath引擎应该识别这个表达式并将其优化为空节点集。