Wie drucke ich XML über die Befehlszeile?



Answers

xmllint --format yourxmlfile.xml

xmllint ist ein Befehlszeilen-XML-Tool und ist in libxml2 ( http://xmlsoft.org/ ) enthalten.

===============================================

Hinweis: Wenn Sie libxml2 installiert haben, können Sie es wie folgt installieren:

CentOS

cd /tmp
wget ftp://xmlsoft.org/libxml2/libxml2-2.8.0.tar.gz
tar xzf libxml2-2.8.0.tar.gz
cd libxml2-2.8.0/
./configure
make
sudo make install
cd

Ubuntu

sudo apt-get install libxml2-utils

Mac OS

Um dies auf MacOS mit Homebrew zu installieren, mach einfach: brew install libxml2

Question

Verwandt: Wie kann ich JSON in (Unix) Shell-Skript hübsch drucken?

Gibt es ein (Unix-) Shell-Skript, um XML in lesbarer Form zu formatieren?

Im Grunde möchte ich Folgendes transformieren:

<root><foo a="b">lorem</foo><bar value="ipsum" /></root>

... in etwas wie das:

<root>
    <foo a="b">lorem</foo>
    <bar value="ipsum" />
</root>



Sie haben keine Datei angegeben, daher nehme ich an, dass Sie die XML-Zeichenfolge als Standardeingabe in der Befehlszeile angeben möchten. In diesem Fall machen Sie Folgendes:

$ echo '<root><foo a="b">lorem</foo><bar value="ipsum" /></root>' | xmllint --format -



Links