Wie schreibe ich in der folgenden XML-Datei eine XPath-Abfrage, um Knoten mit dem Attribut foo
abzurufen ?:
<node1>
<node2>
<node3 foo='bar'></node3>
<node3></node3>
<node3 bar='foo'></node3>
<node3 foo='foobar'></node3>
</node2>
</node1>
Kurz und bündig:
//*[@foo]
Natürlich sollten Sie einen genaueren Ausdruck verwenden. Aber mit [@attributeName]
Sie erhalten alle Knoten, die dieses Attribut haben.
Verwenden Sie den folgenden XPath-Ausdruck
//*[boolean(@foo)]
Wenn Sie und xpath verwenden, kann dies Ihnen vielleicht helfen:
count(//*[@foo])
es wird die Anzahl der Knoten/Kinder zurückgegeben, die das Attribut foo haben