XPath: Bir özniteliğin var olup olmadığı nasıl kontrol edilir?


106

Aşağıdaki XML verildiğinde, özniteliğin foomevcut olduğu düğümleri çekmek için nasıl bir XPath sorgusu yazabilirim ?:

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

Yanıtlar:


166

Kısa ve güzel:

//*[@foo]

Elbette daha spesifik bir ifade kullanmalısınız. Ancak [@attributeName]bu niteliğe sahip tüm düğümleri sizinle birlikte alırsınız.


27

Aşağıdaki XPath ifadesini kullanın

//*[boolean(@foo)]

9

Ve xpath kullanırsanız, bu size yardımcı olabilir:

count(//*[@foo])

foo özniteliğine sahip düğüm / çocuk sayısını döndürür

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.