XML Pretty Print v Linuxu Bash in Python

Xml Pretty Print V Linuxu Bash In Python



XML je zasnovan kot človeku berljiv označevalni jezik, vendar le, če je lepo oblikovan. Če odprete datoteko XML, morda ne boste razumeli vsebine, zlasti pri veliki datoteki XML. Lahko pa natisnete XML na Bash ali Python, da ga naredite človeško berljiv. Ta priročnik predstavlja različne načine tiskanja XML v Linux Bash in Python pretty.

Kako lepo natisniti XML v Linuxu Bash in Python

Pri delu s Pythonom se lahko zgodi, da želite natisniti XML. Lahko je zunanja datoteka XML ali koda XML, ki je vključena v skript Python. Za Linux Bash boste morda želeli odpreti datoteko XML na vašem terminalu, da si ogledate njeno vsebino. Kakorkoli že, videli bomo različne načine za lepo tiskanje XML-ja.







1. Pretty Print XML v Pythonu



Preden se poglobimo v možnosti, je naslednja datoteka XML, s katero bomo delali za naš primer:







V Pythonu lahko delate z XML na dva glavna načina. Recimo, da imate dano datoteko XML kot zunanjo datoteko in jo želite lepo natisniti. Uvozite lahko knjižnico “xml.dom.minidom”. Po uvozu lahko uporabite Python open() za branje vsebine zunanje datoteke. Po tem lahko uporabite toprettyxml() za lepo tiskanje zunanje datoteke XML.

V naslednjem primeru uporabimo našo zunanjo datoteko »details.xml« in ustvarimo različne spremenljivke v kodi:



Nato lahko na terminalu zaženemo naš skript Python, da dobimo lepo oblikovan izhod, kot je prikazano na naslednji sliki. Upoštevajte, kako uporaba knjižnice DOM Python pomaga lepo oblikovati XML, tako da ga zlahka prebere vsak, ki izvaja skript Python:

Če imate samo majhno datoteko XML, jo lahko vključite neposredno v svoj skript Python. Še vedno potrebujete knjižnico DOM Python za oblikovanje notranjega XML-ja v vašem skriptu. Funkcija, ki jo uporabimo, je enaka kot pri delu z zunanjo XML datoteko, le da XML vključimo neposredno.

Poglejte, kako vključimo XML na naslednjo sliko:

Nato lahko zaženete svoj skript Python, kot smo storili prej. V izhodu boste dobili lepo tiskano različico vaše datoteke XML, kot smo jo dobili v naslednjem izhodu:

Ta možnost velja le, če ima vaša datoteka XML nekaj vrstic. Veliko datoteko XML lahko odprete kot zunanjo datoteko.

2. Pretty Print XML v Bashu

Na vašem terminalu si je mogoče ogledati vsebino datotek, vključno z XML. Uporabite lahko na primer ukaz »cat« za prikaz vsebine naše datoteke »details.xml«. Vendar je rezultat neberljiv zaradi slabega oblikovanja.

Če želite lepo natisniti to datoteko XML, lahko uporabite različna orodja. Tukaj bomo obravnavali dve pogosti. Najprej lahko uporabite »xmlstarlet«, ki je nameščen v večini sistemov Linux. Če ni na voljo v vašem sistemu, zaženite naslednji ukaz, da ga namestite:

sudo snap namestite xmlstarlet

Z »xmlstarlet« v vašem sistemu Linux lahko XML lepo natisnete svojo datoteko, kot je prikazano v naslednjem primeru. Vaš rezultat bo lepo oblikovan, kar olajša branje:

Druga možnost je, da uporabite 'xmllint', da dosežete isto. Začnite z namestitvijo v sistem z naslednjim ukazom:

sudo apt namestite libxml2-utils

Ko je nameščen, lahko hitro natisnete svojo datoteko XML z naslednjo sintakso:

xmllint --format podrobnosti.xml

Vaš XML bo oblikovan in lahko berljiv, kot je prikazano v naslednjem primeru:

Recimo, da želite ustvariti izhod oblikovanega XML-ja. Izhod lahko preusmerite, da ustvarite novo datoteko XML, kot je prikazano v naslednjem primeru. Ko odprete novo datoteko, boste videli, da imate lepo natisnjeno različico XML-ja:

Zaključek

Datoteke XML je mogoče lepo natisniti v Linuxu Bash ali Python. S Pythonom lahko lepo natisnete XML tako, da ga vključite v svojo kodo ali preberete kot zunanjo datoteko. Za Linux Bash lahko uporabite različna orodja ukazne vrstice. Ta objava podrobno opisuje najboljše možnosti za uporabo v obeh primerih. Preizkusite jih!