Jak przeanalizować XML w wierszu poleceń Linux

Jak przeanalizować XML w wierszu poleceń Linux
W przeciwieństwie do innych typów plików, XML jest ustrukturyzowany, a kiedy drukujesz jego zawartość na wierszu poleceń, możesz pomyśleć, że jest to nieczytele. Tak jednak jest ustrukturyzowany XML, a najlepszą opcją jest parsowanie go za pomocą dostępnych narzędzi wiersza poleceń. Podczas gdy większość uważa, że ​​analizowanie XML jest trudne, ten przewodnik rozbije złożoność, wprowadzając dwa łatwe narzędzia, aby ułatwić analizowanie XML na linii poleceń Linux. Spójrzmy.

Dwa sposoby analizowania XML na linii poleceń Linux

XML oznacza rozszerzalny język znaczników. Działa jako format pliku i język znaczników, dzięki czemu jest przydatny do transmisji, pamięci i innych funkcji. Główną wadą z XML jest jego trudność do odczytania ze względu na jego strukturę i jeśli nie masz czystego sposobu parsowania, pojedyncza linia XML może łatwo mylić.

Spójrz na następujący obraz. Zrozumienie, co to znaczy, może być trudne, ale zobaczymy, jak to naprawić i przeanalizować za pomocą dwóch narzędzi.

Metoda 1. Korzystanie z polecenia XMlLINT

XMLLINT to niezawodny formator XML i narzędzie sprawdzania poprawności. Aby użyć narzędzia, musisz zainstalować Libxml2-Utils pakiet.

Po zainstalowaniu xmllint postępujmy i przeanalizujmy nasz plik XML. Oto następująca składnia do używania XMlLINT:

$ xmllint [opcje] plik xml

Pierwszą rzeczą podczas analizowania pliku XML jest sprawdzanie poprawności XML jest dobrze napisane. W tym celu użyj następującego polecenia i opcjonalnie dodaj -Noout Aby uniknąć drukowania zawartości XML, ale tylko ją potwierdź:

$ xmlLINT -nieut

Jeśli masz błąd w pliku XML, otrzymasz wyjście błędu na terminalu, jak pokazano w poniższym przykładzie:

Pamiętaj o wyjściach, które były trudne do odczytania wcześniej? Możesz go przeanalizować za pomocą XMLLINT i uzyskać ładne wyjście na wierszu poleceń. W tym celu użyj -format Argument i pamiętaj, jak dobrze sformatowany plik XML zostanie wydrukowany.

Za pomocą XMLLINT możesz również zmienić wcięcie pliku i wybrać, ile przestrzeni chcesz dla wcięcia. Musisz jednak utworzyć zmienną środowiskową, XmlLINT_INDENT, i ustaw liczbę przestrzeni, których chcesz użyć.

Na przykład, gdybyśmy potrzebowali pięciu spacji, poleceniem eksportowania zmiennej środowiskowej byłoby:

$ export xmllint_indent = ""

Teraz twój XML zostanie sformatowany z określonymi przestrzeniami wcięcia.

Jeśli zauważysz, że plik XML ma niepotrzebne przestrzenie, możesz je usunąć za pomocą -Noblanki Argument, który eliminuje nawet nowe linie.

$ xmllint -Noblanks nazwa pliku

Zauważysz, że usunięcie przestrzeni dezorientuje format swojego XML, ale możesz użyć tej opcji, gdy trzeba zmniejszyć rozmiar dokumentu XML.

Metoda 2. Za pomocą polecenia XMLSTARLET

Xmlstarlet to kolejne niezawodne narzędzie do analizowania XML za pośrednictwem wiersza poleceń. Ma wiele opcji, których można użyć do przekształcenia, analizowania, zapytania lub sprawdzania poprawności pliku XML. Musisz zainstalować narzędzie wiersza poleceń, aby użyć go i na Ubuntu, użyj polecenia podanego poniżej:

$ sudo apt Zainstaluj xmlstarlet

Dzięki xmlstarlet możesz łatwo wyodrębnić dane z XML i wykonywać inne proste czynności

Wszystko, co możesz zrobić z narzędziem wiersza poleceń, jest dostępne na jego stronie pomocy. Zobaczmy kilka wspólnych przykładów użytkowania.

Do pogląd plik XML, użyj następującego polecenia:

$ XMLSTARLET Format nazwa pliku

Jeśli potrzebujesz uprawomocnić XML, polecenie znajduje się poniżej:

$ xmlstarlet val nazwa pliku

Do Wybierz dane z xmlstarlet, użyj wybierać opcja i określ ścieżkę do węzła. W naszym pliku XML użyj następującego polecenia, aby wybrać adres:

$ xmlstarlet Wybierz--Template --value-of/Clients/Client/Adres --nl Test3.XML

W poprzednim poleceniu, -nl Określa, aby dodać nową linię po wyjściu. Możesz zmodyfikować ścieżkę, aby uzyskać dowolne określone dane w XML

Istnieją różne sposoby określenia opcji XMLSTARLET do pracy z plikiem XML, a kompleksowe opcje znajdują się na stronie Man dla wiersza poleceń.

Wniosek

Parsowanie plików XML nie powinno być trudne podczas korzystania z Linux. Będziesz zadowolony z pracy z plikami XML, jeśli masz odpowiednie narzędzia wiersza poleceń, aby wykonać zadanie. Ten przewodnik koncentrował się na dwóch opcjach wiersza poleceń do analizowania plików XML. Wypróbuj je i zobacz, jakiego można znaleźć łatwiejsze w użyciu.