我试图从我的xml中找到的一长串erad节点中获取erad类型的节点
这是获取第一个erad项目的代码
我如何更改此内容以获取每个项目中的所有erads。 XML是一种常规的重复模式
Sub Macro1()
Dim strUrl As String
Dim strXPathBase As String
Dim objDoc As Object
Set objDoc = CreateObject("MSXML2.DOMDocument")
strUrl = "https://....XML"
objDoc.async = False
objDoc.Load strUrl
strXPathBase = "//response/responseBody/responseList/item/"
Debug.Print "erad1: " & objDoc.SelectSingleNode(strXPathBase & "erad1").Text
Set objDoc = Nothing
End Sub
答案 0 :(得分:1)
简单地迭代其父<Item>
并打印子节点<erad1>
。下面使用MSXML对象的早期绑定:
Sub Macro1()
Dim strUrl As String
Dim strXPathBase As String
' ADD VBA REFERENCE: MICROSOFT XML, v6.0 '
Dim objDoc As New MSXML2.DOMDocument60
Dim itemNode As MSXML2.IXMLDOMNodeList
Dim i As Variant
strUrl = "https://....XML"
objDoc.async = False
objDoc.Load strUrl
strXPathBase = "//response/responseBody/responseList/item"
Set itemNode = objDoc.DocumentElement.SelectNodes("strXPathBase")
For Each i in itemNode
Debug.Print "erad1: " & i.SelectSingleNode("erad1").Text
Next i
Set itemNode = Nothing
Set objDoc = Nothing
End Sub