JuanCri.com

lunes 26 de julio, 2010 a las 23:57

xmlstarlet se autodefine como un toolkit XML para línea de comando.

He usado esta herramienta desde hace varios años, generalmente para validar un xml, ya sea que esté bien formado como también contra un esquema (XSD) o DTD. Para lo primero, basta con:

xmlstarlet val test.xml

Hoy, sin embargo, estaba buscando una forma rápida de obtener un valor desde un archivo XML. Tomemos como ejemplo este archivo:


	
		
			textoelemento
		
	

Si queremos, por ejemplo, seleccionar el texto de elemento, podemos ejecutar:

xmlstarlet sel --text -t -v /root/hijo/elemento test.xml

Si queremos encontrar el valor del atributo, ejecutamos:

xmlstarlet sel --text -t -v /root/hijo/elemento/@atributo test.xml

Para seleccionar elementos se utiliza la sintaxis XPath. Más info aquí.

Creative Commons License
Blog JuanCri.com por Juan Cristóbal Olivares licenciado bajo la Creative Commons Attribution 2.0 Chile License.
Mono PostgreSQL

JuanCri.com