VBScript
VBScriptでXMLインデント2015/08/07
VBScriptでXMLのデータをインデントしてみた。
input.xml内の要素の階層ごとにタブでインデントする。
出力ファイル名を同じにすると上書きできる。
ごにょごにょした後に保存する場合は、一度保存し、再度開きなおして保存すればインデントされる。
ただし、改行されていないとインデントされないため、テキストノードとして改行を入れる必要がある模様。
Dim xml Set xml = WScript.CreateObject("MSXML2.DOMDocument") xml.load("input.xml") xml.save("output.xml")input.xml
<?xml version="1.0" encoding="UTF-8"?> <root> <char> <name>クワイ</name> <color>緑</color> </char> <char> <name>オビ</name> <color>青</color> </char> <char> <name>モール</name> <color>赤</color> </char> </root>output.xml
<?xml version="1.0" encoding="UTF-8"?> <root> <char> <name>クワイ</name> <color>緑</color> </char> <char> <name>オビ</name> <color>青</color> </char> <char> <name>モール</name> <color>赤</color> </char> </root>