unix - *NIX CLI: Filter, Query XML Attribute and Display -


given file:

/// @file test.xml <xml-fragment>   <string name="foo" value="bar"/> </xml-fragment> 

the path xml-fragment/string , attribute&value name="foo" filter on, , attribute value query on, how should "bar"?

using xmlstarlet, have this:

xmlstarlet sel -t -m '/xml-fragment/string[attribute::name="foo"]' \                   -v 'attribute::bar' test.xml 

which appears work, i'm wondering if there better way?

i don't require using xmlstarlet; tried xmllint, xsltproc, , xpath, couldn't work.

i'm not sure if "better", use -v entire xpath. use @ abbreviated syntax.

example (tested in windows; quotes might need changed)

xmlstarlet sel -t -v "/xml-fragment/string[@name='foo']/@value" test.xml 

any of other tools listed should work well. if you're getting value, xsltproc might overkill. long you're not using regex, should ok.


Comments

Popular posts from this blog

css - SVG using textPath a symbol not rendering in Firefox -

Java 8 + Maven Javadoc plugin: Error fetching URL -

c - Expected expression before 'struct' - Error -