プロが教える店舗&オフィスのセキュリティ対策術

VBSのソースについてご教授下さい。

【作りたい機能】
XMLファイルを読み込み、任意のエレメントを検索するスクリプトを
VBSで作成しようとしています。

【状況】
ダイアログで表示させる方法はわかりました。
 参照
 http://www.atmarkit.co.jp/fxml/rensai/msxml01/ms …

01 : Dim objDOM, rtResult
02 :
03 : Set objDOM = WScript.CreateObject("MSXML2.DOMDocument")
04 : rtResult = objDOM.load("Sample.xml")
05 : If rtResult = True Then
06 : procDispDatas objDOM.childNodes
07 : End If
08 : Set objDOM = Nothing
09 :
10 : Sub procDispDatas(objNode)
11 : Dim obj
12 : For Each obj In objNode
13 : If obj.nodeType = 3 and obj.parentNode.nodeName = "title" Then
14 : MsgBox obj.parentNode.nodeName & " : " & obj.nodeValue
15 : End If
16 : If obj.hasChildNodes Then
17 : procDispDatas obj.childNodes
18 : End If
19 : Next
20 : End Sub

この結果をテキストファイルに出力させる方法に
困っております。

どこにどのように記載すればいいか
教えていただきたく存じます。

よろしくお願いいたします

A 回答 (1件)

手元にあったxmlファイルに合わせてprocDispDatasの方はアレンジさせていただいておりますが、


下記の様な感じでテキストファイルに書き出せると存じます。ご参考まで。

Dim objDOM, rtResult
Dim objFSO
Dim objTextStream

Set objDOM = WScript.CreateObject("MSXML2.DOMDocument")
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

Set objTextStream = objFSO.CreateTextFile("C:\writeXmlValue.txt")
rtResult = objDOM.Load("C:\hoge.xml")
If rtResult = True Then
procDispDatas objDOM.childNodes
End If

Set objDOM = Nothing
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing

Sub procDispDatas(objNode)
Dim obj
For Each obj In objNode
If obj.nodetype = 1 And obj.nodename = "??????" Then
objTextStream.writeline obj.Text
End If
If obj.hasChildNodes Then
procDispDatas obj.childNodes
End If
Next
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!