Ich versuche, die Namen mehrerer Elemente zu drucken, aber ich kann nur XPath dazu überreden, eins auszugeben.Mehrere übereinstimmende Elementnamen drucken
Vor diesem XML:
<xml>
<foob>931</foob>
<arba>478</arba>
<zfoo>892</zfoo>
</xml>
Ich versuche, diese und bekommen foob
:
name(//*[contains(name(), "foo")])
Ich versuche, diese und eine Fehlermeldung über einen ungültigen Ausdruck erhalten:
//*[contains(name(), "foo")]/name()
Obwohl diese funktioniert gut:
//*[contains(name(), "foo")]/text()
Ich bin auf der Kommandozeile und habe sowohl xmllint
als auch xpath
(aus Perls XML-XPath-Modul) mit den gleichen Ergebnissen versucht.
Wie kann ich sowohlfoob
und zfoo
zurückgegeben bekommen?
Ok, mir war nicht bewusst, dass die zweite XPath 2.0 war; anscheinend gibt es nicht viele CLI-Parser, die dies unterstützen. Muss etwas in Python oder PHP schreiben. Vielen Dank! – miken32