2017-05-26 3 views
1

XML Beispiel:xmlstarlet Suchen Attribut

<?xml version="1.0" encoding="UTF-8"?> 
<profile> 
<section name="Vision"> 
<key name="Name" value="BBBB"/> 
<key name="Name_Remark" value="GGGG"/> 
<key name="Position" value="30"/> 
</section> 
</profile> 

Wie ich Wert mit xmlstarlet bekommen kann, wo Namen "Position" ist. Jetzt ist 30.

Vielen Dank.

Antwort

0

Sie diese Befehlszeile verwenden können ...

xmlstarlet sel -t -v "/profile/section/key[@name='Position']/@value" -n input.xml 

Der sel Befehl teilt xmlstarlet auszuwählen.

Die Option -t teilt xmlstarlet die folgenden Optionen -t sind für Vorlagen.

Die -v teilt Xmlstarlet, um den Wert des XPath-Ausdrucks zu drucken.

Die -n teilt Xmlstarlet, um eine neue Zeile zu drucken. (Nicht vollständig notwendig.)

All dies kann durch Ausführen von xmlstarlet sel --help von der Befehlszeile gefunden werden.

+0

Danke für die Unterstützung. Ich habe noch eine andere Frage: Wie kann ich Komma getrennte Ausgabe in einer Zeile bekommen - zum Beispiel 30, BBBB? Danke –

+0

@ Max-M - Bitte erstellen Sie eine weitere separate Frage. Fühlen Sie sich frei, einen Link als Kommentar zu dieser Frage hinzuzufügen. –

Verwandte Themen