0
我必須將XMLnodelists合併爲一個。 所以我想oNodelist_B的內容複製到oNodeList_A在VBA中合併兩個XMLnodelist
Set oNodeList_A = xmldoc.getElementsByTagName("A")
Set oNodeList_B = xmldoc.getElementsByTagName("B")
人有一個想法?
我必須將XMLnodelists合併爲一個。 所以我想oNodelist_B的內容複製到oNodeList_A在VBA中合併兩個XMLnodelist
Set oNodeList_A = xmldoc.getElementsByTagName("A")
Set oNodeList_B = xmldoc.getElementsByTagName("B")
人有一個想法?
這個工作對我來說:
Sub Tester()
Dim xmlDoc As New MSXML2.DOMDocument30
Dim objNodes As IXMLDOMNodeList, o As IXMLDOMElement
xmlDoc.async = False
'xmlDoc.Load "D:\Analysis\config.xml"
xmlDoc.LoadXML Range("A1").Value
xmlDoc.setProperty "SelectionLanguage", "XPath" '<< required!
If xmlDoc.parseError.errorCode <> 0 Then
MsgBox "Error!" & vbCrLf & _
" Line: " & xmlDoc.parseError.Line & vbCrLf & _
" Text:" & xmlDoc.parseError.srcText & vbCrLf & _
" Reason: " & xmlDoc.parseError.reason
Else
Set objNodes = xmlDoc.SelectNodes("root/A|root/B")
If objNodes.Length = 0 Then
Debug.Print "not found"
Else
For Each o In objNodes
Debug.Print o.tagName, o.nodeTypedValue
Next o
End If
End If
End Sub
測試XML:
<?xml version="1.0"?>
<root>
<A>ValA1</A>
<A>ValA2</A>
<B>ValB1</B>
<B>ValB2</B>
</root>
什麼是最終的目的是什麼?你想對這個聯合清單做什麼? –
你好,原因是,我有一個工具,我需要更新。該工具分析oNodeList_A中的數據(該列表的輸入是一個XML文件)。更新我想要做的,以從xm文件中添加此列表中的不同數據。所以除了getElementByTagName(「A」),還有(「B」)。這就是爲什麼我想填充兩個不同的節點列表,然後將它們合併爲一個。也許你有想法做到這一點?或不同的解決方案 – Menno
@TimWilliams請參閱上面的註釋 – Menno