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 <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

Schreibe einen Kommentar