No se pueden leer los atributos de los nodos secundarios que utilizan XML DOM en Access 2003

He buscado en la web quizás 8 horas, incluyendo Experts Exchange y Stackoverflow, y he encontrado otros con el mismo problema, pero no he encontrado una solución para este problema.

Estoy adjuntando un archivo XML que utiliza atributos para almacenar los datos en un nodo principal y tres nodos secundarios dependientes. Todos los atributos tienen un nombre único. el XML se abre en todos los navegadores y estoy bastante seguro de que está "bien formado". He escrito código con éxito para leer los atributos del nodo principal, pero cada vez que intento escribir código para leer los atributos de los nodos secundarios, obtengo un error de tiempo de ejecución 91 o ningún error en absoluto.

<Donors>
    <Donor DonorID="34224" Email="[email protected]" DonorFirstName="Tom" DonorMiddleName="" DonorLastName="Smith" DonorAddress1="2052 Main Street" DonorAddress2="" DonorCity="New York" DonorStateProv="New York" DonorPostalCode="10019" DonorPhoneHome="2125298624" DonorPhoneWork="" DonorPhoneWorkExt="" DonorPhoneMobile="" DonorEmailAlternate="">
        <PageTypes>
              <PageType OnlinePageType="Product Purchase" /> 
        </PageTypes>
        <Transaction>
             <Transactions TransactionID="194" CCTransactionID="-999" OrderTimeStamp="2013-05-24T07:16:37.333" OrderTotal="110.0000" /> 
        </Transaction>
        <Products>
            <Product ProductGroupName="First Pitch Tickets" ProductName="Single" ProductDescription="1 Ticket for $10" ClientCode="I000001351" ProductCount="1" TotalFees="0.0000" TotalAmount="10.0000" /> 
            <Product ProductGroupName="First Pitch Tickets" ProductName="12 Tickets" ProductDescription="12 tickets for $100" ClientCode="I000001352" ProductCount="1" TotalFees="0.0000" TotalAmount="100.0000" /> 
        </Products>
</Donor>

He intentado MUCHAS permutaciones del siguiente código sin éxito. Agradezco cualquier sugerencia sobre cómo pasar por este XML para poder procesar y almacenar los datos en dos tablas relacionadas.

Function ReadAttributes(ByVal strXML As String)

Dim xmldoc As New DOMDocument
Dim iNode As MSXML2.IXMLDOMNode
Dim iNode2 As MSXML2.IXMLDOMNode
Dim DonorNodeList As IXMLDOMNodeList
Dim iAtt As IXMLDOMAttribute
Dim iAtt2 As IXMLDOMAttribute

On Error GoTo ReadAttributes_OnError

xmldoc.async = False
xmldoc.loadXML strXML
If xmldoc.parseError.errorCode <> 0 Then
    MsgBox "Invalid XML, Load Failed"
    GoTo ReadAttributes_OnError
End If

Set DonorNodeList = xmldoc.getElementsByTagName("Donor")

For Each iNode In DonorNodeList
    For Each iAtt In iNode.Attributes
        MsgBox iAtt.Name & ": " & iAtt.nodeTypedValue
    Next
    Set iNode2 = iNode.firstChild
    MsgBox iNode2.nodeName
    For Each iAtt2 In iNode2.Attributes
        MsgBox iAtt.Name & ": " & iAtt.nodeTypedValue
    Next
Next
Exit Function

ReadAttributes_OnError:
    MsgBox Err.Number & " - " & Err.Description
    Exit Function
End Function

Respuestas a la pregunta(1)

Su respuesta a la pregunta