XML Pretty Print w Linux Bash i Pythonie

Xml Pretty Print W Linux Bash I Pythonie



XML został zaprojektowany jako czytelny dla człowieka język znaczników, ale tylko wtedy, gdy jest ładnie sformatowany. Jeśli otworzysz plik XML, możesz nie zrozumieć jego zawartości, zwłaszcza w przypadku dużego pliku XML. Możesz jednak wydrukować XML w Bash lub Pythonie, aby był łatwy do odczytania przez człowieka. Ten przewodnik przedstawia różne sposoby drukowania XML w Linux Bash i Python Pretty.

Jak ładnie drukować XML w Linux Bash i Python

Podczas pracy z Pythonem możesz otrzymać przypadek, w którym chcesz wydrukować XML. Może to być zewnętrzny plik XML lub kod XML zawarty w skrypcie Pythona. W systemie Linux Bash możesz chcieć otworzyć plik XML na swoim terminalu, aby wyświetlić jego zawartość. Niezależnie od przypadku, zobaczymy różne sposoby ładnego drukowania XML.







1. Pretty Print XML w Pythonie



Zanim zagłębimy się w opcje, poniżej znajduje się plik XML, z którym będziemy pracować w naszym przykładzie:







W Pythonie możesz pracować z XML na dwa główne sposoby. Załóżmy, że masz dany plik XML jako plik zewnętrzny i chcesz go ładnie wydrukować. Możesz zaimportować bibliotekę „xml.dom.minidom”. Po zaimportowaniu możesz użyć funkcji Python open() do odczytania zawartości pliku zewnętrznego. Następnie możesz użyć toprettyxml() do ładnego wydrukowania zewnętrznego pliku XML.

W poniższym przykładzie używamy naszego zewnętrznego pliku „details.xml” i tworzymy różne zmienne w kodzie:



Następnie możemy uruchomić nasz skrypt Pythona na terminalu, aby uzyskać ładnie sformatowane dane wyjściowe, jak pokazano na poniższym rysunku. Zwróć uwagę, jak korzystanie z biblioteki DOM Python pomaga zgrabnie sformatować XML, czyniąc go łatwym do odczytania przez każdego, kto uruchamia skrypt Pythona:

Alternatywnie, jeśli masz tylko mały plik XML, możesz włączyć go bezpośrednio do skryptu Pythona. Nadal potrzebujesz biblioteki DOM Python, aby sformatować wewnętrzny kod XML w skrypcie. Wykorzystywana funkcja jest taka sama jak w przypadku pracy z zewnętrznym plikiem XML, tyle że XML dołączamy bezpośrednio.

Zobacz, jak dołączamy kod XML do poniższego obrazka:

Następnie możesz uruchomić skrypt Pythona, tak jak zrobiliśmy to wcześniej. Otrzymasz ładną drukowaną wersję pliku XML na wyjściu, tak jak uzyskaliśmy w naszym następującym wyjściu:

Ta opcja ma zastosowanie tylko wtedy, gdy plik XML ma kilka wierszy. W przypadku dużego pliku XML rozważ otwarcie go jako pliku zewnętrznego.

2. Pretty Print XML w Bash

Na twoim terminalu możesz przeglądać zawartość plików, w tym XML. Na przykład możesz użyć polecenia „cat”, aby wyświetlić zawartość naszego pliku „details.xml”. Jednak dane wyjściowe są nieczytelne z powodu złego formatowania.

Aby ładnie wydrukować ten plik XML, możesz użyć różnych narzędzi. Tutaj omówimy dwa z typowych. Po pierwsze, możesz użyć „xmlstarlet”, który jest instalowany w większości systemów Linux. Jeśli nie jest dostępny w twoim systemie, uruchom następujące polecenie, aby go zainstalować:

Sudo pstryknąć zainstalować xmlstarlet

Dzięki „xmlstarlet” w systemie Linux możesz ładnie wydrukować plik XML, jak pokazano w poniższym przykładzie. Twoje dane wyjściowe będą starannie sformatowane, co ułatwi czytanie:

Alternatywnie możesz użyć „xmllint”, aby osiągnąć to samo. Zacznij od zainstalowania go w systemie za pomocą następującego polecenia:

Sudo trafny zainstalować narzędzia libxml2

Po zainstalowaniu możesz szybko wydrukować plik XML, używając następującej składni:

xmllint --format szczegóły.xml

Twój XML będzie sformatowany i łatwy do odczytania, jak pokazano w poniższym przykładzie:

Załóżmy, że chcesz utworzyć dane wyjściowe w postaci sformatowanego pliku XML. Możesz przekierować dane wyjściowe, aby utworzyć nowy plik XML, jak pokazano w poniższym przykładzie. Kiedy otworzysz nowy plik, zobaczysz, że masz ładnie wydrukowaną wersję XML:

Wniosek

Możliwe jest ładne wydrukowanie plików XML w Linux Bash lub Python. W Pythonie możesz ładnie wydrukować XML, włączając go do swojego kodu lub czytając jako plik zewnętrzny. W systemie Linux Bash można używać różnych narzędzi wiersza poleceń. W tym poście szczegółowo opisano najlepsze opcje do użycia w obu przypadkach. Wypróbuj je!