Hvordan analysere XML på Linux -kommandolinjen

Hvordan analysere XML på Linux -kommandolinjen
I motsetning til andre filtyper, er XML strukturert, og når du skriver ut innholdet på kommandolinjen, kan du kanskje synes det er uleselig. Imidlertid er det slik XML er strukturert, og det beste alternativet er å analysere det ved å bruke de tilgjengelige kommandolinjeverktøyene. Mens de fleste mener at parsing XML er utfordrende, vil denne guiden bryte ned kompleksiteten ved å introdusere to enkle verktøy for å lette XML -parsingen på Linux -kommandolinjen. La oss ta en titt.

To måter å analysere XML på Linux -kommandolinjen

XML står for utvidbart markeringsspråk. Det fungerer som et filformat og et markeringsspråk, noe som gjør det nyttig for overføring, lagring og andre funksjonaliteter. Den viktigste ulempen med XML er vanskeligheten med å lese på grunn av strukturen, og med mindre du har en ren måte å analysere den på, kan en enkelt XML -linje lett være forvirrende.

Ta en titt på følgende bilde. Å forstå hva det betyr kan være vanskelig, men vi vil se hvordan du fikser det og analyserer det ved å bruke to verktøy.

Metode 1. Bruke XMLLINT -kommandoen

XMLLINT er et pålitelig XML -formator og valideringsverktøy. For å bruke verktøyet, må du installere libxml2-utils pakke.

La oss fortsette og analysere XML -filen med xmllint. Her er følgende syntaks for bruk av XMLLINT:

$ xmllint [alternativer] xml-fil

Det første når du analyserer XML -filen din er å validere XML -en din er godt skrevet. For dette, bruk følgende kommando og eventuelt legge til -Noout For å unngå å skrive ut XMLs innhold, men bare validerer det:

$ xmllint -ingen filnavn

Hvis du har en feil i XML -filen din, vil du få en feilutgang på terminalen, som vist i følgende eksempel:

Husk utgangen som var vanskelig å lese før? Du kan analysere den ved hjelp av XMLLINT og få en pen output på kommandolinjen. For det, bruk -format argument og merk hvor godt formatert XML -filen din vil bli skrevet ut.

Med XMLLINT kan du også endre innrykk for filen din og velge hvor mange mellomrom du vil ha for innrykket. Du må imidlertid opprette en miljøvariabel, Xmllint_indent, og angi antall mellomrom du ønsker å bruke.

For eksempel, hvis vi trengte fem mellomrom, ville kommandoen for å eksportere miljøvariabelen være:

$ eksport xmllint_indent = ""

Nå vil XML -en din bli formatert med de spesifiserte innrykkromene.

Hvis du merker at XML -filen din har unødvendige mellomrom, kan du fjerne dem ved å bruke -Noblanker argument, som eliminerer selv newlinjene.

$ xmllint -noblanks filnavn

Du vil merke at å fjerne mellomrommene vil desorientere formatet til XML, men du kan bruke dette alternativet når du trenger å redusere størrelsen på XML -dokumentet ditt.

Metode 2. Bruke XMLStarlet -kommandoen

XMLStarlet er et annet pålitelig verktøy for å analysere XML via kommandolinjen. Den har mange alternativer som du kan bruke til å transformere, analysere eller validere XML -filen din. Du må installere kommandolinjeverktøyet for å bruke det og på Ubuntu, bruk kommandoen nedenfor:

$ sudo apt install xmlstarlet

Med XMLStarlet kan du enkelt hente ut data fra XML og utføre andre enkle aktiviteter

Alt du kan gjøre med kommandolinjeverktøyet er tilgjengelig på hjelpesiden. La oss se flere vanlige brukseksempler.

Til utsikt En XML -fil, bruk følgende kommando:

$ xmlstarlet format filnavn

Hvis du trengte det validere XML, kommandoen er gitt nedenfor:

$ xmlstarlet val filnavn

Til Velg data Bruk plukke ut alternativ og spesifiser banen til noden. I vår XML -fil, bruk følgende kommando for å velge adressen:

$ XMLSTARLET SELECT-Template-Value-of/Customer/Customer/Address --nl Test3.XML

I forrige kommando, -nl Spesifiserer å legge til en ny linje etter utgangen. Du kan endre banen for å få spesifikke data i XML

Det er forskjellige måter du kan spesifisere XMLStarlet -alternativene for å jobbe med XML -filen din, og de omfattende alternativene er på Man -siden for kommandolinjen.

Konklusjon

Parsing XML -filer skal ikke være utfordrende når du bruker Linux. Du vil glede deg over å jobbe med XML -filer hvis du har de riktige kommandolinjeverktøyene for å få jobben gjort. Denne guiden fokuserte på to kommandolinjealternativer for å analysere XML -filer. Prøv dem ut og se hvilke du synes er enklere å bruke.