2016-05-28 34 views
0

我想從我的XML得到相同類型的所有節點

這裏找到ERAD節點一長串得到類型ERAD的節點是我的代碼,以獲得第一ERAD項目

如何我是否會改變這一點,以獲得每件物品的所有時代。該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 

回答

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 
相關問題