XML Pretty Print en Linux Bash y Python

Xml Pretty Print En Linux Bash Y Python



XML está diseñado como un lenguaje de marcado legible por humanos, pero solo si está bastante formateado. Si abre un archivo XML, es posible que no comprenda el contenido, especialmente si se trata de un archivo XML de gran tamaño. Sin embargo, puede imprimir un XML en Bash o Python para que sea fácilmente legible por humanos. Esta guía presenta las diferentes formas de imprimir XML en Linux Bash y Python pretty.

Cómo imprimir bastante XML en Linux Bash y Python

Cuando trabaje con Python, puede obtener un caso en el que desee imprimir XML. Podría ser un archivo XML externo o el código XML que se incluye en el script de Python. Para Linux Bash, es posible que desee abrir un archivo XML en su terminal para ver su contenido. En cualquier caso, veremos las diferentes formas de imprimir el XML bonito.







1. Pretty Print XML en Python



Antes de profundizar en las opciones, el siguiente es el archivo XML con el que trabajaremos para nuestro ejemplo:







En Python, puede trabajar con XML de dos formas principales. Suponga que tiene el archivo XML dado como un archivo externo y desea imprimirlo bonito. Puede importar la biblioteca 'xml.dom.minidom'. Una vez importado, puede usar Python open() para leer el contenido de su archivo externo. Después de eso, puede usar toprettyxml() para imprimir su archivo XML externo de forma bonita.

En el siguiente ejemplo, usamos nuestro archivo externo 'detalles.xml' y creamos diferentes variables en el código:



Luego podemos ejecutar nuestro script de Python en la terminal para obtener el resultado con un bonito formato, como se ilustra en la siguiente figura. Tenga en cuenta cómo el uso de la biblioteca DOM Python ayuda a formatear correctamente el XML, lo que lo hace fácilmente legible para cualquier persona que ejecute el script de Python:

Alternativamente, si solo tiene un archivo XML pequeño, puede incorporarlo directamente en su secuencia de comandos de Python. Todavía necesita la biblioteca DOM Python para formatear el XML interno en su secuencia de comandos. La función que se utiliza es la misma que en el caso de trabajar con un archivo XML externo, solo que incluimos el XML directamente.

Mira como incluimos el XML en la siguiente imagen:

Luego puede ejecutar su secuencia de comandos de Python como lo hicimos anteriormente. Obtendrá la bonita versión impresa de su archivo XML en su salida como la que obtuvimos en nuestra siguiente salida:

Esta opción solo se aplica cuando su archivo XML tiene unas pocas líneas. Para un archivo XML grande, considere abrirlo como un archivo externo.

2. Impresión bonita de XML en Bash

En su terminal, es posible ver el contenido de los archivos, incluido XML. Por ejemplo, puede usar el comando 'gato' para mostrar el contenido de nuestro archivo 'detalles.xml'. Sin embargo, la salida es ilegible debido a un formato deficiente.

Para imprimir bastante este archivo XML, existen diferentes herramientas que puede utilizar. Aquí, cubriremos dos de los más comunes. Primero, puede usar el 'xmlstarlet' que viene instalado en la mayoría de los sistemas Linux. Si no está disponible en su sistema, ejecute el siguiente comando para instalarlo:

sudo quebrar instalar xmlstarlet

 

Con “xmlstarlet” en su sistema Linux, puede imprimir su archivo en formato XML como se ilustra en el siguiente ejemplo. Su salida tendrá un formato ordenado, lo que hace que sea más fácil de leer:

Alternativamente, puede usar 'xmllint' para lograr lo mismo. Comience por instalarlo en su sistema con el siguiente comando:

sudo apto instalar libxml2-utils

 

Una vez instalado, puede imprimir rápidamente su archivo XML usando la siguiente sintaxis:

xmlint --formato detalles.xml

 

Su XML se formateará y será fácil de leer como se muestra en el siguiente ejemplo:

Suponga que desea crear una salida del XML formateado. Puede redirigir la salida para crear un nuevo archivo XML como se muestra en el siguiente ejemplo. Cuando abras el nuevo archivo, verás que tienes la bonita versión impresa del XML:

Conclusión

Es posible imprimir bastante los archivos XML en Linux Bash o Python. Con Python, puede imprimir bastante el XML incorporándolo a su código o leyéndolo como un archivo externo. Para Linux Bash, puede usar diferentes herramientas de línea de comandos. Esta publicación ha detallado las mejores opciones para usar en cualquier caso. ¡Pruébalos!