我有一個XML文檔,看起來像這樣:提取多個XML節點分成數組,而不循環
<rng>
<col1>
<row1>A</row1>
<row2>B</row2>
<row3>C</row3>
<row4>D</row4>
</col1>
<col2>
<row1>E</row1>
<row2>F</row2>
<row3>G</row3>
<row4>H</row4>
</col2>
</rng>
有一個很多更多的山坳節點,每一個包含幾千行元素。
我想從行元素解析出價值,並最終將它們放到一個電子表格。我目前正在這樣做,如下所示:
' get a list of the col elements (thi sits in a loop to go through them all)
Set oXMLColNodeList = oXMLDoc.selectNodes("//saveStates/rng/*")
' Lop through each column
For colNum = 1 To oXMLColNodeList.Length
' get all the row nodes for that coulmn
Set oXMLRowNodeList = oXMLDoc.selectNodes("//saveStates/rng"/col" & colNum & "/*")
' loop through all the row nodes
For rowNum = 1 To oXMLRowNodeList.Length
' get the node to do something with it
Set oXMLNode = oXMLDoc.selectSingleNode("//saveStates/rng/col" & colNum & "/row" & rowNum)
next rowNum
next colNum
I.e.我循環遍歷col節點,然後遍歷每個行節點以獲取值A,B,C,D等。當行元素的數量達到數以萬計時,它的速度非常緩慢。
我沒有從XML文檔解析了豐富的經驗,我正在尋找一種方式來提取從所有的值「行*」在同一時間節點,無需通過他們不必循環。這可能嗎?
謝謝 - 這是一個好主意,但不能用於加載我使用的是隨機尋找XML。它必須已經通過記錄集保存爲xml。我會回來,但在一分鐘我不想與XML佈局 – chrisSpaceman 2013-04-29 15:24:05
混亂也許你可以試試這個:在Excel XML(http://www.jkp-ads.com/Articles/XMLAndExcel05 .asp的) – 2013-04-29 15:42:38