开发者

XPath: How to check if an attribute exists?

Given the following XML, how do I write an XPath query to pull nodes where the attribute foo exists?:

<node1>
  <node2>
    <node3 foo='bar'></node3>
    <node3></node3>
    <node3 bar='foo'></node3>
    <node3 foo='foobar'></node3>
  <开发者_开发知识库/node2>
</node1>


Short and sweet:

//*[@foo]

Of course you should use a more specific expression. But with [@attributeName] you get all nodes which have that attribute.


Use the following XPath expression

//*[boolean(@foo)]


If you use and xpath, this maybe can help you:

count(//*[@foo])

it will return count of node/child that have attribute foo

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜