So analysieren Sie XML in der Linux -Befehlszeile

So analysieren Sie XML in der Linux -Befehlszeile
Im Gegensatz zu anderen Dateitypen ist XML strukturiert, und wenn Sie seinen Inhalt in der Befehlszeile drucken, denken Sie vielleicht, dass es unlesbar ist. So ist XML jedoch strukturiert, und die beste Option besteht darin, es mit den verfügbaren Befehlszeilen -Tools zu analysieren. Während die meisten glauben, dass das Parsen von XML eine Herausforderung darstellt, wird dieser Leitfaden die Komplexität abbauen, indem er zwei einfache Tools einführt. Lass uns einen Blick darauf werfen.

Zwei Möglichkeiten, XML in der Linux -Befehlszeile zu analysieren

Xml steht für Extensible Markup -Sprache. Es funktioniert als Dateiformat und eine Markup -Sprache, die es für Übertragung, Speicherung und andere Funktionen nützlich macht. Der Hauptnachteil bei XML ist die Schwierigkeit, aufgrund seiner Struktur zu lesen, und wenn Sie sie nicht sauber analysieren, kann eine einzelne XML -Linie leicht verwirrend sein.

Schauen Sie sich das folgende Bild an. Es kann schwierig sein, zu verstehen, was es bedeutet, aber wir werden sehen, wie man das behebt und mit zwei Tools analysiert wird.

Methode 1. Verwenden Sie den Befehl xmllint

Das Xmllint ist ein zuverlässiges XML -Formator- und Validierungswerkzeug. Um das Tool zu verwenden, müssen Sie das installieren libxml2-utils Paket.

Lassen Sie uns mit dem installierten XMlint -Datei fortfahren und unsere XML -Datei analysieren. Hier finden Sie die folgende Syntax für die Verwendung von Xmllint:

$ xmllint [Optionen] XML-Datei

Das erste, was beim Parsen Ihrer XML -Datei Ihre XML validieren ist, ist gut geschrieben. Verwenden Sie hierzu den folgenden Befehl und fügen Sie optional das hinzu -Nein Um zu vermeiden, den Inhalt des XML zu drucken, validieren Sie sie jedoch nur:

$ xmllint -kein Dateiname

Wenn Sie einen Fehler in Ihrer XML -Datei haben, erhalten Sie eine Fehlerausgabe in Ihrem Terminal, wie im folgenden Beispiel gezeigt:

Denken Sie an die Ausgabe, die vorher schwer zu lesen war? Sie können es mit Xmllint analysieren und eine hübsche Ausgabe in Ihrer Befehlszeile erhalten. Verwenden Sie dafür die -Format Argument und beachten Sie, wie gut Ihre XML -Datei formatiert wurde, wird gedruckt.

Mit Xmllint können Sie auch die Eindrücke für Ihre Datei ändern und auswählen, wie viele Räume Sie für den Einzug gewünscht haben. Sie müssen jedoch eine Umgebungsvariable erstellen, Xmllint_indent, und setzen Sie die Anzahl der Räume, die Sie verwenden möchten.

Wenn wir beispielsweise fünf Plätze benötigen, wäre der Befehl zum Exportieren der Umgebungsvariablen:

$ export xmllint_indent = ""

Jetzt wird Ihr XML mit den angegebenen Eindrückungsräumen formatiert.

Wenn Sie feststellen, dass Ihre XML -Datei unnötige Leerzeichen hat, können Sie sie mit dem entfernen -Adlige Argument, das sogar die Neulinge beseitigt.

$ xmllint -Noblanks Dateiname

Sie werden feststellen.

Methode 2. Verwenden des XMLStarlet -Befehls

Das XMLStarlet ist ein weiteres zuverlässiges Werkzeug zum Parsen von XML über die Befehlszeile. Es verfügt über viele Optionen, mit denen Sie Ihre XML -Datei transformieren, analysieren, abfragen oder validieren können. Sie müssen das Befehlszeilen -Tool installieren, um es zu verwenden, um es zu verwenden, und auf Ubuntu verwenden Sie den unten angegebenen Befehl:

$ sudo APT Installieren Sie XMLStarlet

Mit XMLStarlet können Sie Daten problemlos aus Ihrem XML extrahieren und andere einfache Aktivitäten ausführen

Alles, was Sie mit dem Befehlszeilen -Tool tun können, ist auf seiner Hilfeseite verfügbar. Lassen Sie uns mehrere häufige Verwendungsbeispiele sehen.

Zu Sicht Verwenden Sie eine XML -Datei, verwenden Sie den folgenden Befehl:

$ xmlstarlet Format Dateiname

Wenn Sie mussten bestätigen Der XML, der Befehl, finden Sie unten:

$ xmlstarlet val Dateiname

Zu Daten auswählen Verwenden Sie mit xmlstarlet die wählen Option und geben Sie den Pfad zum Knoten an. Verwenden Sie in unserer XML -Datei den folgenden Befehl, um die Adresse auszuwählen:

$ xmlstarlet select-template-value-of/customer/customer/adress --nl test3.xml

Im vorherigen Befehl die -nl Gibt an, um nach der Ausgabe eine neue Zeile hinzuzufügen. Sie können den Pfad ändern, um bestimmte Daten in die XML zu erhalten

Es gibt verschiedene Möglichkeiten, wie Sie die XMLStarlet -Optionen angeben können, um mit Ihrer XML -Datei zu arbeiten, und die umfassenden Optionen finden Sie auf der Mannseite für die Befehlszeile.

Abschluss

Das Parsen von XML -Dateien sollte bei der Verwendung von Linux keine Herausforderung sein. Sie werden gerne mit XML -Dateien arbeiten, wenn Sie über die richtigen Befehlszeilen -Tools verfügen, um den Job zu erledigen. Diese Anleitung konzentrierte sich auf zwei Befehlszeilenoptionen zum Parsen von XML -Dateien. Probieren Sie sie aus und sehen Sie, welche Sie einfacher zu bedienen finden.