是否可以在VBA中組合兩組對象?我試圖元素的兩組通過的getElementsByTagName獲得的結合將兩組對象合併到VBA中
所以像下面
Set a = oXMLFile.getElementsByTagName(tag1)
Set b = oXMLFile.getElementsByTagName(tag2)
c = union(a,b)
任何人都可以幫助嗎?
是否可以在VBA中組合兩組對象?我試圖元素的兩組通過的getElementsByTagName獲得的結合將兩組對象合併到VBA中
所以像下面
Set a = oXMLFile.getElementsByTagName(tag1)
Set b = oXMLFile.getElementsByTagName(tag2)
c = union(a,b)
任何人都可以幫助嗎?
您可以編寫一個XPath表達式,它是兩個標籤名稱的聯合,並將其提供給.selectNodes
這將爲您提供IXMLDOMNodeList,其中包含具有任一標籤的所有元素節點。
如果你想所謂的「富」,並呼籲每個元素節點每一個元素節點「欄」,那麼這應該工作(|符號是XPath中union operator):
Set listOfBothTags = domDoc.selectNodes("//foo | //bar")
注:
感謝噸barrowc! |符號就像一個魅力!我有一個更快的問題。是否可以選擇所有包含特定字符串的標籤的節點?例如我想選擇標籤中包含「foo」的所有節點。所以「foObar」和「xyzFOOxyz」都會被拾取。 – Timescape
嘗試'Set nodeList = domDoc.SelectNodes(「// * [contains(name(),'foo')]」)',如[this question]中所述(http://stackoverflow.com/q/2691426/2127508 )和XPath 1.0規範[這裏](http://www.w3.org/TR/xpath/#function-name)和[here](http://www.w3.org/TR/xpath/#功能包含)。如果你需要不區分大小寫的匹配,那麼請參閱[這個答案](http://stackoverflow.com/a/1625859/2127508) – barrowc
這是很棒的barrowc!謝謝你的幫助! – Timescape
你也可以遍歷兩組,並將它們添加到集合或數組 –