XML är designat som ett mänskligt läsbart märkningsspråk, men bara om det är ganska formaterat. Om du öppnar en XML-fil kanske du inte förstår innehållet, särskilt för en stor XML-fil. Du kan dock skriva ut en XML på Bash eller Python för att göra den lättläsbar för människor. Den här guiden presenterar de olika sätten att skriva ut XML i Linux Bash och Python pretty.
Hur man skriver ut XML i Linux Bash och Python
När du arbetar med Python kan du få ett fall där du vill skriva ut XML. Det kan vara en extern XML-fil eller XML-koden som ingår i Python-skriptet. För Linux Bash kanske du vill öppna en XML-fil på din terminal för att se dess innehåll. Oavsett vilket kommer vi att se de olika sätten att skriva ut XML snyggt.
1. Pretty Print XML i Python
Innan vi går in på alternativen är följande XML-fil som vi kommer att arbeta med för vårt exempel:
I Python kan du arbeta med XML på två huvudsakliga sätt. Anta att du har den givna XML-filen som en extern fil och du vill skriva ut den snyggt. Du kan importera 'xml.dom.minidom'-biblioteket. När du har importerat kan du använda Python open() för att läsa innehållet i din externa fil. Efter det kan du använda toprettyxml() för att skriva ut din externa XML-fil pretty.
I följande exempel använder vi vår externa 'details.xml'-fil och skapar olika variabler i koden:
Vi kan sedan köra vårt Python-skript på terminalen för att få den ganska formaterade utdata som illustreras i följande figur. Observera hur användningen av DOM Python-biblioteket hjälper till att formatera XML på ett snyggt sätt, vilket gör det lätt att läsa av alla som kör Python-skriptet:
Alternativt, om du bara har en liten XML-fil, kan du infoga den direkt i ditt Python-skript. Du behöver fortfarande DOM Python-biblioteket för att formatera den interna XML i ditt skript. Funktionen som används är densamma som vid arbete med en extern XML-fil, bara att vi tar med XML direkt.
Titta på hur vi inkluderar XML i följande bild:
Du kan sedan köra ditt Python-skript som vi gjorde tidigare. Du kommer att få den vackra tryckta versionen av din XML-fil i din utdata som vad vi fick i vår följande utdata:
Det här alternativet gäller endast när din XML-fil har några rader. För en stor XML-fil, överväg att öppna den som en extern fil.
2. Pretty Print XML i Bash
På din terminal är det möjligt att se innehållet i filer inklusive XML. Du kan till exempel använda kommandot 'cat' för att visa innehållet i vår 'details.xml'-fil. Utdata är dock oläsbar på grund av dålig formatering.
För att snyggt skriva ut den här XML-filen finns det olika verktyg som du kan använda. Här kommer vi att täcka två av de vanliga. Först kan du använda 'xmlstarlet' som kommer installerat på de flesta Linux-system. Om det inte är tillgängligt på ditt system, kör följande kommando för att installera det:
sudo knäppa Installera xmlstarlet
Med 'xmlstarlet' på ditt Linux-system kan du XML ganska skriva ut din fil som illustreras i följande exempel. Din utdata kommer att vara snyggt formaterad vilket gör det lättare att läsa:
Alternativt kan du använda 'xmllint' för att uppnå samma sak. Börja med att installera det på ditt system med följande kommando:
sudo benägen Installera libxml2-utils
När den väl har installerats kan du snabbt skriva ut din XML-fil med följande syntax:
xmllint --formatera details.xml
Din XML kommer att formateras och är lätt att läsa som visas i följande exempel:
Anta att du vill skapa en utdata av den formaterade XML-filen. Du kan omdirigera utdata för att skapa en ny XML-fil som visas i följande exempel. När du öppnar den nya filen kommer du att se att du har den snygga tryckta versionen av XML:en:
Slutsats
Det är möjligt att ganska skriva ut XML-filerna i Linux Bash eller Python. Med Python kan du ganska skriva ut XML genom att infoga den i din kod eller läsa den som en extern fil. För Linux Bash kan du använda olika kommandoradsverktyg. Det här inlägget har detaljerat de bästa alternativen att använda i båda fallen. Prova dem!