Come analizzare XML sulla riga di comando Linux

Come analizzare XML sulla riga di comando Linux
A differenza di altri tipi di file, XML è strutturato e quando si sta stampa il contenuto sulla riga di comando, potresti pensare che sia illeggibile. Tuttavia, è così che XML è strutturato e l'opzione migliore è analizzarlo utilizzando gli strumenti di riga di comando disponibili. Mentre la maggior parte crede che l'analisi XML sia impegnativa, questa guida abbatterà la complessità introducendo due strumenti facili per facilitare l'analisi XML sulla riga di comando Linux. Diamo un'occhiata.

Due modi di analizzare XML sulla riga di comando Linux

XML sta per un linguaggio di markup estensibile. Funziona come un formato di file e un linguaggio di markup, rendendo utile per la trasmissione, l'archiviazione e altre funzionalità. Lo svantaggio principale con XML è la sua difficoltà da leggere a causa della sua struttura e, a meno che tu non abbia un modo pulito per analizzarlo, una singola linea XML può essere facilmente confusa.

Dai un'occhiata alla seguente immagine. Capire cosa significa può essere difficile, ma vedremo come risolverlo e analizzarlo usando due strumenti.

Metodo 1. Usando il comando xmllint

Xmllint è un formatore XML affidabile e strumento di convalida. Per utilizzare lo strumento, è necessario installare il libxml2-otils pacchetto.

Con Xmllint installato, procediamo e analizziamo il nostro file XML. Ecco la seguente sintassi per l'utilizzo di xmllint:

$ xmllint [opzioni] xml file

La prima cosa quando si analizza il tuo file XML è convalidare il tuo XML è ben scritto. Per questo, utilizzare il comando seguente e opzionalmente aggiungi il -noout Per evitare di stampare il contenuto dell'XML, ma lo convalidalo solo:

$ xmllint -Noi di nome file

Se hai un errore nel tuo file XML, otterrai un output di errore sul tuo terminale, come mostrato nell'esempio seguente:

Ricorda l'output che era difficile da leggere prima? Puoi analizzarlo usando xmllint e ottenere un ottimo output sulla tua riga di comando. Per questo, usa il -formato Argomento e nota quanto ben formattato il tuo file XML verrà stampato.

Con XMllint, puoi anche cambiare il rientro per il tuo file e scegliere quanti spazi desideri per il rientro. Tuttavia, è necessario creare una variabile di ambiente, Xmllint_indent, e imposta il numero di spazi che desideri utilizzare.

Ad esempio, se avessimo bisogno di cinque spazi, il comando per esportare la variabile di ambiente sarebbe:

$ Export xmllint_indent = ""

Ora, il tuo XML verrà formattato con gli spazi di rientro specificati.

Se noti che il tuo file XML ha spazi non necessari, puoi rimuoverli usando il -Noblanks argomento, che elimina anche le nuove linee.

$ xmllint -NOTELINAME

Noterai che la rimozione degli spazi disorienterà il formato del tuo XML, ma puoi utilizzare questa opzione quando è necessario ridurre le dimensioni del documento XML.

Metodo 2. Utilizzando il comando xmlstarlet

Xmlstarlet è un altro strumento affidabile per analizzare XML tramite la riga di comando. Ha molte opzioni che puoi utilizzare per trasformare, analizzare, query o convalidare il tuo file XML. È necessario installare lo strumento riga di comando per utilizzarlo e su Ubuntu, utilizzare il comando fornito di seguito:

$ sudo apt install xmlstarlet

Con XMLStarlet, puoi facilmente estrarre dati dal tuo XML ed eseguire altre semplici attività

Tutto ciò che puoi fare con lo strumento di riga di comando è disponibile nella sua pagina di aiuto. Vediamo diversi esempi di utilizzo comune.

A visualizzazione Un file XML, utilizzare il seguente comando:

FileName in formato $ xmlstarlet

Se ne avevi bisogno convalidare l'XML, il comando è fornito di seguito:

$ xmlstarlet Val fileName

A Seleziona i dati Con XMLStarlet, usa il Selezionare opzione e specificare il percorso del nodo. Nel nostro file XML, utilizzare il comando seguente per selezionare l'indirizzo:

$ xmlstarlet select--template-valore di/clienti/cliente/indirizzo --nl test3.XML

Nel comando precedente, il -nl Specifica di aggiungere una nuova riga dopo l'output. È possibile modificare il percorso per ottenere dati specifici in XML

Esistono vari modi in cui è possibile specificare le opzioni XMLStarlet per funzionare con il tuo file XML e le opzioni complete sono sulla pagina Man per la riga di comando.

Conclusione

L'analisi dei file XML non dovrebbe essere impegnativo quando si utilizza Linux. Ti piacerà lavorare con i file XML se hai gli strumenti di riga di comando giusti per svolgere il lavoro. Questa guida si è concentrata su due opzioni di riga di comando per analizzare i file XML. Provali e vedi cosa trovi più facile da usare.