XML Pretty Print in Linux Bash e Python

Xml Pretty Print In Linux Bash E Python



XML è progettato come linguaggio di markup leggibile dall'uomo, ma solo se è ben formattato. Se apri un file XML, potresti non riuscire a comprenderne il contenuto, soprattutto per un file XML di grandi dimensioni. Tuttavia, puoi stampare un XML su Bash o Python per renderlo facilmente leggibile dall'uomo. Questa guida presenta i diversi modi per stampare XML in Linux Bash e Python piuttosto.

Come stampare abbastanza XML in Linux Bash e Python

Quando lavori con Python, potresti avere un caso in cui desideri stampare XML. Potrebbe trattarsi di un file XML esterno o del codice XML incluso nello script Python. Per Linux Bash, potresti voler aprire un file XML sul tuo terminale per visualizzarne il contenuto. In ogni caso, vedremo i diversi modi per stampare l'XML in modo carino.







1. Pretty Print XML in Python



Prima di approfondire le opzioni, quello che segue è il file XML con cui lavoreremo per il nostro esempio:







In Python, puoi lavorare con XML in due modi principali. Supponiamo di avere il file XML specificato come file esterno e di volerlo stampare in modo carino. Puoi importare la libreria “xml.dom.minidom”. Una volta importato, puoi usare Python open() per leggere il contenuto del tuo file esterno. Successivamente, puoi utilizzare toprettyxml() per stampare il tuo file XML esterno in modo carino.

Nell'esempio seguente, utilizziamo il nostro file esterno 'details.xml' e creiamo diverse variabili nel codice:



Possiamo quindi eseguire il nostro script Python sul terminale per ottenere l'output piuttosto formattato come illustrato nella figura seguente. Nota come l'utilizzo della libreria DOM Python aiuta a formattare ordinatamente l'XML, rendendolo facilmente leggibile da chiunque esegua lo script Python:

In alternativa, se hai solo un piccolo file XML, puoi incorporarlo direttamente nel tuo script Python. Hai ancora bisogno della libreria DOM Python per formattare l'XML interno nel tuo script. La funzione utilizzata è la stessa del caso in cui si lavora con un file XML esterno, solo che includiamo direttamente l'XML.

Guarda come includiamo l'XML nella seguente immagine:

Puoi quindi eseguire il tuo script Python come abbiamo fatto in precedenza. Otterrai la bella versione stampata del tuo file XML nel tuo output come quello che abbiamo ottenuto nel nostro seguente output:

Questa opzione si applica solo quando il tuo file XML ha poche righe. Per un file XML di grandi dimensioni, considera di aprirlo come file esterno.

2. Pretty Print XML in Bash

Sul tuo terminale, è possibile visualizzare il contenuto dei file incluso XML. Ad esempio, puoi utilizzare il comando 'cat' per visualizzare il contenuto del nostro file 'details.xml'. Tuttavia, l'output è illeggibile a causa della scarsa formattazione.

Per stampare bene questo file XML, ci sono diversi strumenti che puoi usare. Qui, tratteremo due di quelli comuni. Innanzitutto, puoi utilizzare 'xmlstarlet' che viene installato sulla maggior parte dei sistemi Linux. Se non è disponibile sul tuo sistema, esegui il seguente comando per installarlo:

sudo affrettato installare xmlstarlet

Con 'xmlstarlet' sul tuo sistema Linux, puoi stampare in modo carino XML il tuo file come illustrato nell'esempio seguente. Il tuo output sarà formattato in modo ordinato, il che rende più facile la lettura:

In alternativa, puoi utilizzare 'xmllint' per ottenere lo stesso risultato. Inizia installandolo sul tuo sistema con il seguente comando:

sudo adatto installare libxml2-utils

Una volta installato, puoi stampare rapidamente il tuo file XML utilizzando la seguente sintassi:

xmlint --formato dettagli.xml

Il tuo XML sarà formattato e facilmente leggibile come mostrato nell'esempio seguente:

Supponiamo di voler creare un output dell'XML formattato. È possibile reindirizzare l'output per creare un nuovo file XML come mostrato nell'esempio seguente. Quando apri il nuovo file, vedrai che hai la bella versione stampata dell'XML:

Conclusione

È possibile stampare in modo carino i file XML in Linux Bash o Python. Con Python, puoi tranquillamente stampare l'XML incorporandolo nel tuo codice o leggendolo come file esterno. Per Linux Bash, puoi utilizzare diversi strumenti da riga di comando. Questo post ha dettagliato le migliori opzioni da utilizzare in entrambi i casi. Provali!