Linux Bash および Python での XML Pretty Print

Linux Bash Oyobi Python Deno Xml Pretty Print



XML は人間が判読できるマークアップ言語として設計されていますが、それは適切にフォーマットされている場合に限られます。 XML ファイルを開くと、特に大きな XML ファイルの場合、内容を理解できない可能性があります。ただし、XML を Bash または Python で印刷して、人間が簡単に判読できるようにすることができます。このガイドでは、Linux Bash と Python で XML を美しく印刷するさまざまな方法を紹介します。

Linux Bash と Python で XML をきれいに印刷する方法

Python を使用していると、XML を出力したい場合があるかもしれません。外部 XML ファイルまたは Python スクリプトに含まれる XML コードである可能性があります。 Linux Bash の場合、端末上で XML ファイルを開いてその内容を表示することができます。いずれにせよ、XML を美しく印刷するさまざまな方法を見ていきます。







1. Python での Pretty Print XML



オプションについて詳しく説明する前に、例で使用する XML ファイルを以下に示します。







Python では、主に 2 つの方法で XML を操作できます。外部ファイルとして指定された XML ファイルがあり、それをきれいに印刷したいとします。 「xml.dom.minidom」ライブラリをインポートできます。インポートしたら、Python open() を使用して外部ファイルの内容を読み取ることができます。その後、toprettyxml() を使用して、外部 XML ファイルをきれいに印刷できます。

次の例では、外部の「details.xml」ファイルを使用し、コード内にさまざまな変数を作成します。



次に、ターミナル上で Python スクリプトを実行すると、次の図に示すように、整形された出力が得られます。 DOM Python ライブラリを使用すると、XML が適切にフォーマットされ、Python スクリプトを実行する誰でも簡単に読み取れるようになることに注目してください。

また、小さな XML ファイルしかない場合は、それを Python スクリプトに直接組み込むこともできます。スクリプト内の内部 XML をフォーマットするには、引き続き DOM Python ライブラリが必要です。使用される関数は、XML を直接インクルードする点を除いて、外部 XML ファイルを操作する場合と同じです。

次の画像に XML を含める方法を見てください。

その後、前と同じように Python スクリプトを実行できます。次の出力で得たものと同様に、出力に XML ファイルのきれいに印刷されたバージョンが表示されます。

このオプションは、XML ファイルが数行ある場合にのみ適用されます。大きな XML ファイルの場合は、外部ファイルとして開くことを検討してください。

2. Bash での Pretty Print XML

端末上ではXMLを含むファイルの内容を閲覧することが可能です。たとえば、「cat」コマンドを使用して「details.xml」ファイルの内容を表示できます。ただし、形式が不適切なため、出力は判読できません。

この XML ファイルをきれいに印刷するには、さまざまなツールを使用できます。ここでは、一般的なもののうち 2 つについて説明します。まず、ほとんどの Linux システムにインストールされている「xmlstarlet」を使用できます。システムで利用できない場合は、次のコマンドを実行してインストールします。

須藤 スナップ インストール xmlスターレット

Linux システムで「xmlstarlet」を使用すると、次の例に示すように、ファイルを XML で整形出力できます。出力は整然とフォーマットされ、読みやすくなります。

あるいは、「xmlint」を使用して同じことを実現できます。まず、次のコマンドを使用してシステムにインストールします。

須藤 適切な インストール libxml2-utils

インストールしたら、次の構文を使用して XML ファイルをすぐに印刷できます。

xmlint - フォーマット 詳細.xml

XML は次の例に示すようにフォーマットされ、読みやすくなります。

フォーマットされた XML の出力を作成するとします。次の例に示すように、出力をリダイレクトして新しい XML ファイルを作成できます。新しいファイルを開くと、きれいに印刷されたバージョンの XML があることがわかります。

結論

Linux Bash または Python では、XML ファイルをきれいに印刷することができます。 Python を使用すると、XML をコードに組み込むか、外部ファイルとして読み取ることで、XML をきれいに出力できます。 Linux Bash の場合は、さまざまなコマンド ライン ツールを使用できます。この投稿では、どちらの場合にも使用する最適なオプションについて詳しく説明します。ぜひ試してみてください!