XPath: Làm thế nào để kiểm tra xem một thuộc tính có tồn tại hay không?


104

Với XML sau đây, làm cách nào để viết một truy vấn XPath để kéo các nút có thuộc tính foo?:

<node1>
  <node2>
    <node3 foo='bar'></node3>
    <node3></node3>
    <node3 bar='foo'></node3>
    <node3 foo='foobar'></node3>
  </node2>
</node1>

Câu trả lời:


163

Ngắn và ngọt:

//*[@foo]

Tất nhiên bạn nên sử dụng một biểu thức cụ thể hơn. Nhưng với việc [@attributeName]bạn nhận được tất cả các nút có thuộc tính đó.


25

Sử dụng biểu thức XPath sau

//*[boolean(@foo)]

8

Nếu bạn sử dụng và xpath, điều này có thể giúp bạn:

count(//*[@foo])

nó sẽ trả về số lượng nút / con có thuộc tính foo

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.