VBScript で XML

XML ファイルを 編集する (追加)

↓ こんな XML ファイルを読む


<?xml version='1.0' encoding='Shift_JIS'?>
<Albums>
<Album>
<Title >I LOVE YOU,OK</Title>
<Artist>矢沢永吉</Artist>
<Tracks>
<Track number='1'>セクシー・キャット</Track>
<Track number='2'>ウィスキー・コーク</Track>
<Track number='3'>キャロル</Track>
<Track number='4'>雨のハイウェイ</Track>
<Track number='5'>キザな野郎</Track>
<Track number='6'>ライフ・イズ・ヴェイン</Track>
<Track number='7'>恋の列車はリバプール発</Track>
<Track number='8'>安物の時計</Track>
<Track number='9'>夏のフォトグラフ</Track>
<Track number='10'>奴はデビル</Track>
<Track number='11'>サブウェイ特急</Track>
<Track number='12'>アイ・ラヴ・ユー,OK</Track>
</Tracks>
</Album>

<Album>
<Title >A Day</Title>
<Artist>矢沢永吉</Artist>
<Tracks>
<Track number='1'>気ままなロックン・ローラー</Track>
<Track number='2'>最後の約束</Track>
<Track number='3'>トラベリン・バス</Track>
<Track number='4'>親友</Track>
<Track number='5'>真夜中のロックン・ロール</Track>
<Track number='6'>昼下り</Track>
<Track number='7'>古いラヴ・レター</Track>
<Track number='8'>六月の雨の朝</Track>
<Track number='9'>真赤なフィアット</Track>
<Track number='10'>ディスコティック</Track>
<Track number='11'>A DAY</Track>
</Tracks>
</Album>
</Albums>

lesson002.vbs


Dim objDOM: Set objDOM = CreateObject("Microsoft.XMLDOM")
objDOM.Load(WScript.Arguments(0))

'アルバム要素を 追加
Set objAlbum = objDOM.createElement("Album")

'アルバムの タイトル
objAlbum.appendChild(objDOM.createTextNode(vbCrLf & vbTab & vbTab))
Set objTitle = objDOM.createElement("Title")
objTitle.text = "新しいアルバム"
objAlbum.appendChild(objTitle)

'アーティスト
objAlbum.appendChild(objDOM.createTextNode(vbCrLf & vbTab & vbTab))
Set objArtist = objDOM.createElement("Artist")
objArtist.text = "新しいアーティスト"
objAlbum.appendChild(objArtist)

'楽曲リスト
objAlbum.appendChild(objDOM.createTextNode(vbCrLf & vbTab & vbTab))
Set objTracks = objDOM.createElement("Tracks")

'楽曲情報
objTracks.appendChild(objDOM.createTextNode(vbCrLf & vbTab & vbTab & vbTab))
Set objTrack = objDOM.createElement("Track")
objTrack.setAttribute "number", "1"
objTrack.text = "楽曲1"
objTracks.appendChild(objTrack)

'楽曲情報
objTracks.appendChild(objDOM.createTextNode(vbCrLf & vbTab & vbTab & vbTab))
Set objTrack = objDOM.createElement("Track")
objTrack.setAttribute "number", "2"
objTrack.text = "楽曲2"
objTracks.appendChild(objTrack)

'楽曲リストの 編集 終わり
objTracks.appendChild(objDOM.createTextNode(vbCrLf & vbTab & vbTab))
objAlbum.appendChild(objTracks)

'アルバムの 編集 終わり
objAlbum.appendChild(objDOM.createTextNode(vbCrLf & vbTab))
objDOM.documentElement.appendChild(objAlbum)

'最後に 改行
objDOM.documentElement.appendChild(objDOM.createTextNode(vbCrLf))

'ファイルに 書き込む
Set FS = CreateObject("Scripting.FileSystemObject")
Set XmlFile = FS.CreateTextFile(WScript.Arguments(1))
XmlFile.WriteLine ""
XmlFile.WriteLine objDOM.documentElement.xml
XmlFile.Close

実行結果

C:\>cscript c:\study\vbscript\chapter005\lesson002.vbs c:\study\vbscript\chapter
005\lesson001.xml c:\study\vbscript\chapter005\lesson002.xml //nologo

↓ こんな XML ファイルが 出力される


<?xml version='1.0' encoding='Shift_JIS'?>
<Albums>
<Album>
<Title>I LOVE YOU,OK</Title>
<Artist>矢沢永吉</Artist>
<Tracks>
<Track number="1">セクシー・キャット</Track>
<Track number="2">ウィスキー・コーク</Track>
<Track number="3">キャロル</Track>
<Track number="4">雨のハイウェイ</Track>
<Track number="5">キザな野郎</Track>
<Track number="6">ライフ・イズ・ヴェイン</Track>
<Track number="7">恋の列車はリバプール発</Track>
<Track number="8">安物の時計</Track>
<Track number="9">夏のフォトグラフ</Track>
<Track number="10">奴はデビル</Track>
<Track number="11">サブウェイ特急</Track>
<Track number="12">アイ・ラヴ・ユー,OK</Track>
</Tracks>
</Album>
<Album>
<Title>A Day</Title>
<Artist>矢沢永吉</Artist>
<Tracks>
<Track number="1">気ままなロックン・ローラー</Track>
<Track number="2">最後の約束</Track>
<Track number="3">トラベリン・バス</Track>
<Track number="4">親友</Track>
<Track number="5">真夜中のロックン・ロール</Track>
<Track number="6">昼下り</Track>
<Track number="7">古いラヴ・レター</Track>
<Track number="8">六月の雨の朝</Track>
<Track number="9">真赤なフィアット</Track>
<Track number="10">ディスコティック</Track>
<Track number="11">A DAY</Track>
</Tracks>
</Album>
<Album>
<Title>新しいアルバム</Title>
<Artist>新しいアーティスト</Artist>
<Tracks>
<Track number="1">楽曲1</Track>
<Track number="2">楽曲2</Track>
</Tracks>
</Album>
</Albums>