XML Pretty Print Linux Bashissa ja Pythonissa

Xml Pretty Print Linux Bashissa Ja Pythonissa



XML on suunniteltu ihmisen luettavaksi merkintäkieleksi, mutta vain, jos se on muotoiltu kauniisti. Jos avaat XML-tiedoston, et ehkä ymmärrä sisältöä, etenkään suuren XML-tiedoston kohdalla. Voit kuitenkin tulostaa XML-tiedoston Bashissa tai Pythonissa, jotta se on helposti ihmisen luettavissa. Tämä opas esittelee erilaisia ​​tapoja tulostaa XML:ää Linux Bashissa ja Pythonissa kauniissa.

Kuinka tulostaa XML:ää kauniisti Linux Bashissa ja Pythonissa

Pythonin kanssa työskennellessäsi saattaa ilmetä tapaus, jossa haluat tulostaa XML:n. Se voi olla ulkoinen XML-tiedosto tai XML-koodi, joka sisältyy Python-skriptiin. Linux Bashissa sinun kannattaa ehkä avata XML-tiedosto päätteessäsi nähdäksesi sen sisällön. Joka tapauksessa näemme erilaisia ​​tapoja tulostaa XML kauniisti.







1. Pretty Print XML Pythonissa



Ennen kuin tutkimme vaihtoehtoja, seuraava on XML-tiedosto, jonka kanssa työskentelemme esimerkissämme:







Pythonissa voit työskennellä XML:n kanssa kahdella päätavalla. Oletetaan, että sinulla on annettu XML-tiedosto ulkoisena tiedostona ja haluat tulostaa sen kauniisti. Voit tuoda 'xml.dom.minidom'-kirjaston. Tuonnin jälkeen voit käyttää Python open()-komentoa lukeaksesi ulkoisen tiedoston sisällön. Sen jälkeen voit käyttää toprettyxml() tulostaaksesi ulkoisen XML-tiedoston kauniisti.

Seuraavassa esimerkissä käytämme ulkoista 'details.xml' -tiedostoamme ja luomme koodiin erilaisia ​​muuttujia:



Voimme sitten ajaa Python-skriptimme päätteessä saadaksemme kauniin muotoillun lähdön seuraavan kuvan mukaisesti. Huomaa, että DOM Python -kirjaston käyttö auttaa muotoilemaan XML:n siististi, jolloin se on helppolukuinen kaikille Python-skriptiä ajaville:

Vaihtoehtoisesti, jos sinulla on vain pieni XML-tiedosto, voit sisällyttää sen suoraan Python-skriptiisi. Tarvitset edelleen DOM Python -kirjaston skriptisi sisäisen XML:n alustamiseen. Käytetty toiminto on sama kuin ulkoisen XML-tiedoston kanssa työskenneltäessä, vain että sisällytämme XML:n suoraan.

Katso, kuinka sisällytämme XML:n seuraavaan kuvaan:

Voit sitten suorittaa Python-skriptin kuten teimme aiemmin. Saat tulosteeseen XML-tiedostosi kauniin painetun version, kuten saimme seuraavassa tulosteessa:

Tämä vaihtoehto on voimassa vain, kun XML-tiedostossa on muutama rivi. Jos kyseessä on suuri XML-tiedosto, harkitse sen avaamista ulkoisena tiedostona.

2. Pretty Print XML Bashissa

Päätteelläsi on mahdollista tarkastella tiedostojen sisältöä, mukaan lukien XML. Voit esimerkiksi käyttää 'cat'-komentoa näyttääksesi 'details.xml'-tiedostomme sisällön. Tuloste on kuitenkin lukukelvoton huonon muotoilun vuoksi.

Voit tulostaa tämän XML-tiedoston kauniisti käyttämällä erilaisia ​​työkaluja. Tässä käsittelemme kahta yleistä. Ensinnäkin voit käyttää 'xmlstarlet' -ohjelmaa, joka on asennettu useimpiin Linux-järjestelmiin. Jos se ei ole saatavilla järjestelmässäsi, asenna se suorittamalla seuraava komento:

sudo napsahtaa Asentaa xmlstarlet

Linux-järjestelmäsi “xmlstarletilla” voit tulostaa tiedostosi XML-muodossa seuraavan esimerkin mukaisesti. Tulostuksesi muotoillaan siististi, mikä helpottaa lukemista:

Vaihtoehtoisesti voit käyttää 'xmllint' saavuttaaksesi saman. Aloita asentamalla se järjestelmääsi seuraavalla komennolla:

sudo apt Asentaa libxml2-utils

Asennuksen jälkeen voit tulostaa XML-tiedoston nopeasti seuraavalla syntaksilla:

xmllint --muoto details.xml

XML muotoillaan ja se on helposti luettavissa seuraavan esimerkin mukaisesti:

Oletetaan, että haluat luoda tulosteen muotoillusta XML:stä. Voit ohjata tulosteen uudelleen luomaan uuden XML-tiedoston seuraavan esimerkin mukaisesti. Kun avaat uuden tiedoston, näet, että sinulla on kaunis painettu versio XML:stä:

Johtopäätös

On mahdollista tulostaa XML-tiedostoja Linux Bashissa tai Pythonissa. Pythonilla voit tulostaa XML:n kauniisti sisällyttämällä sen koodiisi tai lukemalla sen ulkoisena tiedostona. Linux Bashissa voit käyttää erilaisia ​​komentorivityökaluja. Tässä viestissä on kuvattu parhaat vaihtoehdot molemmissa tapauksissa. Kokeile niitä!