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.