次に、XMLデータを使用する例を示します。私はあなたのXMLファイルが最初の行に<?xml version='1.0'?>
を持っていなければならないと確信しています。しかしそれとは別に、これはどのように動作するのですか:
Sub testXMLLoop()
Dim xml As String
xml = "<?xml version='1.0'?>" & _
vbCrLf & " <test>" & _
vbCrLf & " <result>" & _
vbCrLf & " </result>" & _
vbCrLf & " <memo1>" & _
vbCrLf & " </memo1>" & _
vbCrLf & " <result>" & _
vbCrLf & " </result>" & _
vbCrLf & " <memo2>" & _
vbCrLf & " </memo2>" & _
vbCrLf & " <result>" & _
vbCrLf & " </result>" & _
vbCrLf & " <memo3>" & _
vbCrLf & " </memo3>" & _
vbCrLf & " </test>"
Dim xmlDoc As Object
Set xmlDoc = CreateObject("Msxml2.DOMDocument.6.0")
xmlDoc.LoadXML xml
'xmlDoc.Load "file\path\to\books.xml"
If (xmlDoc.parseError.ErrorCode <> 0) Then
Dim myErr As Object
Set myErr = xmlDoc.parseError
Debug.Print "You have error " + myErr.reason
Else
Dim objNodeList As Object
Set objNodeList = xmlDoc.getElementsByTagName("test")
Dim oTestList, oChild As Object
For Each oTestList In objNodeList
For Each oChild In oTestList.ChildNodes
if oChild.nodeName = "result" then
'Do stuff with oChild
Debug.Print oChild.nodeTypedValue
end if
Next
Next
End If
End Sub
何をしようとしていますか?あなたが提供したXMLデータは非常に限られています。別のレベルの子ノードを配置して、データを使用してより有益な答えを書くことができます。 – jsotola