How can I get xmllint to output multiple results of xpath selector for attributes "per line"?
Take this example:
<?xml version="1.0" encoding="ISO-8859-1"?> <config> <tagX key1="value1 " key2=" value2"/> <tagY key3="value3" key4=" value4 "/> </config> $ xmllint example.xml --xpath "/config/*/@*"
The result is:
key1="value1 " key2=" value2" key3="value3" key4=" value4 "
What I'd like to get is:
key1="value1 " key2=" value2" key3="value3" key4=" value4 "
Would I need to split after even-numbered quote marks, or is there any neater way to do this?
There's a related question, about the same subject except it's about picking out contents of <tag>value</tag>
, and not <tag attribute="value" />
You can try:
$ xmllint --shell inputfile <<< 'cat /config/*/@*'
You might need to grep
the output, though, so as to filter the undesired lines.
If it's an option, try using xmlstarlet instead:
xmlstarlet sel -t -v "/config/*/@*" example.xml
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With