XMLParseFromFile

Sub parseXML2()

Dim fname As String

fname = Application.GetSaveAsFilename(InitialFileName:="user", FileFilter:="XMLファイル (*.xml),*.xml")

Debug.Print fname

If (fname <> "") Then

Else

Exit Sub

End If

' Dim xmlString As String

'

' xmlString = "<?xml version=""1.0""?>" _

' & "<books>" _

' & "<book id=""1""><name>BOOK1</name></book>" _

' & "<book id=""2""><name>BOOK2</name></book>" _

' & "</books>"

Dim XmlDoc As DOMDocument 'xmlデータ用変数

Dim ReadStatus As Boolean '読み込み状態用

Dim SelNode As IXMLDOMNodeList

Set XmlDoc = CreateObject("Microsoft.XMLDom")

XmlDoc.async = False

' ReadStatus = XmlDoc.LoadXML(xmlString)

ReadStatus = XmlDoc.Load(fname)

If ReadStatus Then

Debug.Print "status: " & 1

Else

Debug.Print "status: " & 2

End If

Set SelNode = XmlDoc.SelectNodes("/books/book")

Debug.Print "number of book: " & SelNode.length

Dim size As Integer

size = SelNode.length

For n = 0 To size - 1

Debug.Print "id=" & SelNode.Item(n).Attributes(0).NodeValue

Debug.Print "xml=" & SelNode.Item(n).SelectSingleNode("name").XML

Debug.Print "name=" & SelNode.Item(n).SelectSingleNode("name").text

SelNode.NextNode

Next

End Sub