有人能告诉我以下XPath表达式之间的区别吗?
/IntuitResponse/QueryResponse/Bill/./Id
/IntuitResponse/QueryResponse/Bill/Id
我已经尝试使用两者来解析文档根目录中的XML文档,我得到了相同的响应。
这两个XPath是等价的。
self::node()
(.
)的缩写在谓词中更有用。例如,
/IntuitResponse/QueryResponse/Bill/Id[. = 'abc']
将只选择那些字符串值为Id
的'abc'
元素。
此外,.
可用于引入相对路径。例如,
./Id
将仅选择那些作为当前上下文节点的子元素的Id
元素。