Bash:
Trabajando con XML
Cómo hacerlo:
Aquí te mostramos cómo analizar XML en Bash. ¿Herramientas? xmllint y xmlstarlet. ¿Iterar a través de los elementos XML? Definitivamente. Ejemplo con salida de muestra:
# Asumiendo que xmlstarlet está instalado
# Instalar con: apt-get install xmlstarlet
# Analizando contenido XML
cat <<EOF > sample.xml
<fruits>
<fruit name="Apple"/>
<fruit name="Banana"/>
</fruits>
EOF
# Extraer nombres con xmlstarlet
xmlstarlet sel -t -m "//fruit" -v "@name" -n sample.xml
# La salida debería ser:
# Apple
# Banana
Profundización
A principios de los ‘90, XML apareció como una alternativa más simple a SGML, pero más estructurada que HTML. Ahora, tiene compañía - JSON, YAML, por ejemplo. Pero XML todavía está en la lucha, especialmente en configuraciones y servicios web basados en SOAP.
En términos de herramientas, xmllint es cómodo para la validación de XML, consultas xpath. xmlstarlet es la navaja suiza para las travesuras XML - consultar, editar, validar, transformar. En scripts de bash, son superhéroes para las tareas XML.
Bajo el capó, xmllint utiliza libxml2 - el parser C de XML. Es rápido, pero ¿los mensajes de error? Crípticos. ¿Y xmlstarlet? Plantillas recursivas y el soporte de EXSLT. Difícil de entender, pero poderoso.
Ver También
- xmlsoft.org: Cosas de Libxml2 y xmllint.
- Stack Overflow: Problemas y soluciones del mundo real.
- Tutorial XML de W3Schools: Fundamentos de XML.