Não é possível ler os atributos dos nós filhos usando o XML DOM no Access 2003

Pesquisei na Web por talvez oito horas, incluindo o Expert Exchange e o Stackoverflow, e encontrei outras com o mesmo problema, mas não encontrei uma solução para esse problema.

Eu estou anexando um arquivo XML que usa atributos para armazenar os dados em um nó pai e três nós filho dependentes. Todos os atributos são nomeados exclusivamente. o XML é aberto em todos os navegadores e tenho quase certeza de que ele é "bem formado". Eu tenho escrito com sucesso o código para ler os atributos do nó pai, mas toda vez que eu tento escrever código para ler os atributos dos nós filhos, recebo um erro de tempo de execução 91 ou nenhum erro.

<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>

Eu tentei MUITAS permutações do código a seguir sem sucesso. Congratulo-me com quaisquer sugestões sobre como percorrer este XML para que eu possa processar e armazenar os dados em duas tabelas 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

questionAnswers(1)

yourAnswerToTheQuestion