XPath-Abfrage für die Knoten-Namen, die mit einem bestimmten Muster
Gibt es eine Möglichkeit für die Anwendung von XPath ist starts-with
Funktion für einen Knoten-Namen, statt dessen Wert? Ich möchte wählen Sie die FOObar
und FOObaz
Knoten aus dem folgenden XML-Dokument auswählen, ohne die notFOO
Knoten:
<?xml version="1.0" encoding="UTF-8" ?>
<RootNode>
<FOObar xmlns="http://sample.example.com">
<value>numOne</value>
</FOObar>
<FOObaz xmlns="http://sample.example.com">
<value>numTwo</value>
</FOObaz>
<notFOO xmlns="http://sample.example.com">
<value>numThree</value>
</notFOO>
</RootNode>
Ich, dass es möglich ist, verwenden Sie starts-with
die Suche basiert auf text-Knoten, z.B.
//sample:value[starts-with(.,'num')]
Gibt es eine Möglichkeit zu schreiben, der folgende, syntaktisch gültig?
//sample:[starts-with(node(),'FOO')]
Diese Frage kam ursprünglich mit einem SSCCE, aber jetzt, dass die Frage beantwortet wird, all das, code ist nur Unordnung. Es ist noch immer in der revision history, natürlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die
name()
oderlocal-name()
Funktionen beziehen sich auf Knoten-name:local-name()
für Stunden. Ich begann zu denken, dass keine solche Funktion existiert. Zur info für zukünftige Besucher, diese Antwort ist der namespace-kompatibel://sample:*[starts-with(local-name(), 'FOO')]
local-name
: w3.org/TR/xpath/#function-local-name