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.