XML Pretty Print in Linux Bash en Python

Xml Pretty Print In Linux Bash En Python



XML is ontworpen als een door mensen leesbare opmaaktaal, maar alleen als het behoorlijk is opgemaakt. Als u een XML-bestand opent, is het mogelijk dat u de inhoud niet begrijpt, vooral bij een groot XML-bestand. U kunt echter een XML op Bash of Python afdrukken om deze gemakkelijk leesbaar te maken voor mensen. Deze gids presenteert de verschillende manieren om XML af te drukken in Linux Bash en Python pretty.

XML mooi afdrukken in Linux Bash en Python

Wanneer u met Python werkt, kunt u een geval krijgen waarin u XML wilt afdrukken. Dit kan een extern XML-bestand zijn of de XML-code die is opgenomen in het Python-script. Voor Linux Bash wilt u misschien een XML-bestand op uw terminal openen om de inhoud ervan te bekijken. Hoe het ook zij, we zullen de verschillende manieren zien om de XML mooi af te drukken.







1. Pretty Print-XML in Python



Voordat we ingaan op de opties, is het volgende het XML-bestand waarmee we voor ons voorbeeld zullen werken:







In Python kunt u op twee manieren met XML werken. Stel dat u het opgegeven XML-bestand als een extern bestand hebt en u wilt het mooi afdrukken. U kunt de bibliotheek 'xml.dom.minidom' importeren. Eenmaal geïmporteerd, kunt u de Python open() gebruiken om de inhoud van uw externe bestand te lezen. Daarna kunt u de toprettyxml() gebruiken om uw externe XML-bestand pretty af te drukken.

In het volgende voorbeeld gebruiken we ons externe bestand 'details.xml' en maken we verschillende variabelen in de code:



We kunnen dan ons Python-script op de terminal uitvoeren om de mooi geformatteerde uitvoer te krijgen, zoals geïllustreerd in de volgende afbeelding. Merk op hoe het gebruik van de DOM Python-bibliotheek helpt om de XML netjes op te maken, waardoor deze gemakkelijk leesbaar wordt door iedereen die het Python-script uitvoert:

Als u slechts een klein XML-bestand heeft, kunt u dit ook rechtstreeks in uw Python-script opnemen. Je hebt nog steeds de DOM Python-bibliotheek nodig om de interne XML in je script op te maken. De functie die wordt gebruikt is dezelfde als bij het werken met een extern XML-bestand, alleen dat we de XML rechtstreeks opnemen.

Bekijk hoe we de XML opnemen in de volgende afbeelding:

U kunt dan uw Python-script uitvoeren zoals we eerder deden. U krijgt de mooie gedrukte versie van uw XML-bestand in uw uitvoer zoals we hebben verkregen in onze volgende uitvoer:

Deze optie is alleen van toepassing als uw XML-bestand uit enkele regels bestaat. Overweeg om een ​​groot XML-bestand te openen als een extern bestand.

2. Pretty Print-XML in Bash

Op uw terminal is het mogelijk om de inhoud van bestanden inclusief XML te bekijken. U kunt bijvoorbeeld de opdracht 'cat' gebruiken om de inhoud van ons bestand 'details.xml' weer te geven. De uitvoer is echter onleesbaar vanwege een slechte opmaak.

Om dit XML-bestand mooi af te drukken, zijn er verschillende hulpmiddelen die u kunt gebruiken. Hier zullen we twee van de meest voorkomende behandelen. Ten eerste kun je de 'xmlstarlet' gebruiken die op de meeste Linux-systemen is geïnstalleerd. Als het niet beschikbaar is op uw systeem, voert u de volgende opdracht uit om het te installeren:

sudo snap installeren xmlstarlet

Met 'xmlstarlet' op uw Linux-systeem kunt u uw bestand mooi XML afdrukken, zoals geïllustreerd in het volgende voorbeeld. Uw uitvoer wordt netjes opgemaakt, waardoor het gemakkelijker te lezen is:

Als alternatief kunt u 'xmllint' gebruiken om hetzelfde te bereiken. Begin met het op uw systeem te installeren met de volgende opdracht:

sudo geschikt installeren libxml2-utils

Na installatie kunt u uw XML-bestand snel afdrukken met behulp van de volgende syntaxis:

xmllint --formaat details.xml

Uw XML wordt geformatteerd en gemakkelijk leesbaar zoals in het volgende voorbeeld:

Stel dat u een uitvoer wilt maken van de opgemaakte XML. U kunt de uitvoer omleiden om een ​​nieuw XML-bestand te maken, zoals in het volgende voorbeeld wordt getoond. Wanneer je het nieuwe bestand opent, zul je zien dat je de mooi afgedrukte versie van de XML hebt:

Conclusie

Het is mogelijk om de XML-bestanden mooi af te drukken in Linux Bash of Python. Met Python kun je de XML behoorlijk afdrukken door deze in je code op te nemen of als een extern bestand te lezen. Voor Linux Bash kunt u verschillende opdrachtregelprogramma's gebruiken. Dit bericht heeft de beste opties beschreven om in beide gevallen te gebruiken. Probeer ze uit!