¿Cómo puedo mejorar la velocidad del análisis XML en VBA
Tengo un archivo XML grande que debe analizarse en VBA (Excel 2003 y 2007). Podría haber más de 11,000 'filas' de datos en el archivo xml con cada 'fila' que tiene entre 10 y 20 'columnas'. Esto termina siendo una tarea enorme solo para analizar y tomar los datos (5 a 7 minutos). Intenté leer el xml y colocar cada 'fila' en un diccionario (clave = número de fila, valor = Atributos de fila), pero esto lleva el mismo tiempo.
Se tarda una eternidad en atravesar el DOM. ¿Hay alguna forma más eficiente?
Dim XMLDict
Sub ParseXML(ByRef RootNode As IXMLDOMNode)
Dim Counter As Long
Dim RowList As IXMLDOMNodeList
Dim ColumnList As IXMLDOMNodeList
Dim RowNode As IXMLDOMNode
Dim ColumnNode As IXMLDOMNode
Counter = 1
Set RowList = RootNode.SelectNodes("Row")
For Each RowNode In RowList
Set ColumnList = RowNode.SelectNodes("Col")
Dim NodeValues As String
For Each ColumnNode In ColumnList
NodeValues = NodeValues & "|" & ColumnNode.Attributes.getNamedItem("id").Text & ":" & ColumnNode.Text
Next ColumnNode
XMLDICT.Add Counter, NodeValues
Counter = Counter + 1
Next RowNode
End Sub