XML Parse
Sub parseXML()
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)
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
実行結果
status: 1
number of book: 2
id=1
xml=<name>BOOK1</name>
name=BOOK1
id=2
xml=<name>BOOK2</name>
name=BOOK2
tags
VBA XML Parse DOM