Bekommen Wert von einem Attribut von xml für mehrere vorkommen mit xmllint
Möchte ich, um den Wert des conn-abc, deren name 3 ich.e conn3
<abc name="1">
<properties conn="conn1"/>
</abc>
<abc name="2">
<properties conn="conn2"/>
</abc>
<abc name="3">
<properties conn="conn3"/>
</abc>
momentan mache ich
echo 'cat //abc/properties/@conn' | xmllint --shell "test.xml"
aber es ist wieder conn1,conn2,conn3
Ich versuche mit
echo 'cat //abc[@name='1']/properties/@conn' | xmllint --shell "test.xml"
aber es ist nicht wieder alles
Können Sie bitte empfehlen, wo ich falsch mache.
Note:Xpath
nicht unterstützt
Da XML (und wickelte Sie in ein
Funktioniert auch für mich. Obwohl, wenn Sie nicht über die
Drucken "/ > / >" auf der Konsole
Was ist die erwartete Ausgabe genau? Zusammenhang für Geschwister: stackoverflow.com/questions/26823736/...
<root>
element, um ihn gültig zu machen), Ihre zweite Befehl funktioniert für mich. Ich denke, was Sie haben, ist etwas anderes?Funktioniert auch für mich. Obwohl, wenn Sie nicht über die
--xpath
option, ich Frage mich, ob Ihr xmllint
ist alt und unterstützt nicht die Abfrage, die Sie verwenden...Drucken "/ > / >" auf der Konsole
Was ist die erwartete Ausgabe genau? Zusammenhang für Geschwister: stackoverflow.com/questions/26823736/...
InformationsquelleAutor user2387280 | 2015-08-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem wurde schließlich mit dem einzelnen Hochkomma(')unter Befehl wrok für mich .Ich weiß nicht, der Grund,kam zu wissen, durch schlagen und versuchen 🙂
Bitte Kommentar, wenn Sie wissen, ist der Grund dahinter.
echo 'cat //abc[@name="1"]/Eigenschaften/@conn " | xmllint --shell "test.xml"
Hinweis:Oben erwähnen xml ist nur Probe eigentlichen xml, wo ich ausführen möchten ist komplexer Struktur.
InformationsquelleAutor user2387280
Verwenden Sie einfach
xmllint
normal, ohne Rohre:Sehen
string()
verwendet, um den Wert eines Attributs, wie beschrieben in Erste Attribut mit XPath.Was macht Ihr
xmllint --version
zurück? Mirxmllint: using libxml version 20901
.xmllint: mit libxml version 20706 ich bin mit linux-box xmllint --xpath-Unknown option --xpath-Verwendung : xmllint [Optionen] XMLfiles .
InformationsquelleAutor fedorqui