xml形式のデータが一行の時、フォーマットできると作業効率は上がる。この場合、xmllintコマンドが便利。ただし、筆者はLinuxとmacしか試していないので他のOSは不明。
はじめに
以下のようにxml形式のデータが一行だったり、綺麗に整形されていなかったりすると見えにくい。
<?xml version="1.0" encoding="UTF-8"?><aaa><bbb>xxxxx</bbb></aaa><ccc>yyyyy</ccc><aaa><bbb>xxxxx</bbb></aaa><ccc>yyyyy</ccc><aaa><bbb>xxxxx</bbb></aaa><ccc>yyyyy</ccc><aaa><bbb>xxxxx</bbb></aaa><ccc>yyyyy</ccc><aaa><bbb>xxxxx</bbb></aaa><ccc>yyyyy</ccc>
<?xml version="1.0" encoding="UTF-8"?><aaa><bbb><ccc>xxxxx</ccc></bbb><ddd>yyyyy</ddd>
<bbb><ccc>xxxxx</ccc></bbb><ddd>yyyyy</ddd>
<bbb><ccc>xxxxx</ccc></bbb><ddd>yyyyy</ddd>
<bbb><ccc>xxxxx</ccc></bbb><ddd>yyyyy</ddd>
<bbb><ccc>xxxxx</ccc></bbb><ddd>yyyyy</ddd></aaa>
Udemy >> Java超初心者でも大丈夫!挫折させないJavaプログラミング講座~基礎固め編~
xml形式を整形する(xmllintコマンド)
xmllintコマンドのformatオプションで対象のファイルを指定することで整形されたxmlが出力される。
xmllint --format ファイルパス
ファイル出力したい場合は、リダイレクトで書き込めば良い。
xmllint --format ファイルパス > 出力ファイルパス
サンプル
冒頭で記載した、sample_1.xmlとsample_2.xmlを整形してみる。
xmllint --format sample_1.xml
xmllint --format sample_2.xml
どちらの結果も以下のようになる。
<?xml version="1.0" encoding="UTF-8"?>
<aaa>
<bbb>
<ccc>xxxxx</ccc>
</bbb>
<ddd>yyyyy</ddd>
<bbb>
<ccc>xxxxx</ccc>
</bbb>
<ddd>yyyyy</ddd>
<bbb>
<ccc>xxxxx</ccc>
</bbb>
<ddd>yyyyy</ddd>
<bbb>
<ccc>xxxxx</ccc>
</bbb>
<ddd>yyyyy</ddd>
<bbb>
<ccc>xxxxx</ccc>
</bbb>
<ddd>yyyyy</ddd>
</aaa>