Scripting: what is the easiest to extract a value in a tag of a XML file?
xml2 can convert xml to/from line-oriented format:
xml2 < pom.xml | grep /project/version= | sed 's/.*=//'
Other way: xmlgrep and XPath:
xmlgrep --text_only '/project/version' pom.xml
Disadvantage: slow
Using python
$ python -c 'from xml.etree.ElementTree import ElementTree; print ElementTree(file="pom.xml").findtext("{http://maven.apache.org/POM/4.0.0}version")'
1.0.74-SNAPSHOT
Using xmlstarlet
$ xml sel -N x="http://maven.apache.org/POM/4.0.0" -t -m 'x:project/x:version' -v . pom.xml
1.0.74-SNAPSHOT
Using xmllint
$ echo -e 'setns x=http://maven.apache.org/POM/4.0.0\ncat /x:project/x:version/text()' | xmllint --shell pom.xml | grep -v /
1.0.74-SNAPSHOT