Excel VBA pobierający określony węzeł z XML

Mam plik XML z API URL (URL, którego nie udostępniłem, ponieważ umożliwia dostęp do bezpiecznych informacji). Z tego pliku chcę uzyskać pewne informacje. Mój problem polega na tym, że gdy już jestem w węźle nadrzędnym (eventNode), chcę po prostu móc pobrać dane z określonych węzłów podrzędnych.

Na przykład jeśli eventNode był<event><ID>1</ID>...<title>event 1</title></event>, jak bym dostał1 od znajomości nazwy węzłaID (lub jakąkolwiek inną wartość, którą chcę wyciągnąć)?

Dużo przeglądałem za pośrednictwem forów i.SelectSingleNode nie dał mi szczęścia. Również.selectNodes nie będzie działać jak normalna lista węzłów w ciągu XML. Nie wiem, czy jest to spowodowane metodą używaną do analizowania mojego pliku XML.

Sub ListEvents()

Dim strPath As String

strPath = getAPI("GetEvents", "filter=&orderBy=")

Dim xmlDocument As MSXML2.DOMDocument60
Set xmlDocument = New DOMDocument60

With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", strPath, False
    .send
    xmlDocument.LoadXML .responseText
End With

Dim lvl1 As IXMLDOMNode: Dim lvl2 As IXMLDOMNode
Dim eventNode As IXMLDOMNode: Dim isNode As IXMLDOMNode

For Each lvl1 In xmlDocument.ChildNodes
    For Each lvl2 In lvl1.ChildNodes
        For Each eventNode In lvl2.ChildNodes
            If eventNode.HasChildNodes Then
                'Here is where I want code to find specific child node
                'without having to look at every node.
            End If
        Next
    Next
Next

End Sub

Przykładowy XML:

<?xml version="1.0" encoding="utf-8" ?> 
<ResultsOfListOfEvent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.regonline.com/api">
  <Success>true</Success> 
  <Data>
    <APIEvent>
      <ID>111</ID> 
      <CustomerID>222</CustomerID> 
      <ParentID>0</ParentID> 
      <Status>Testing</Status> 
      <Title>Event Name</Title> 
      <ClientEventID /> 
      <TypeID>9</TypeID> 
      <TimeZone>GMT</TimeZone> 
      <CurrencyCode>GBP</CurrencyCode> 
      <AddDate>2013-12-18T02:34:09.357</AddDate> 
      <Channel>Running</Channel> 
      <IsWaitlisted>false</IsWaitlisted> 
    </APIEvent>
    <APIEvent>
      <ID>112</ID> 
      <CustomerID>223</CustomerID> 
      <ParentID>0</ParentID> 
      <Status>Testing</Status> 
      <Title>Event Name</Title> 
      <ClientEventID /> 
      <TypeID>9</TypeID> 
      <TimeZone>GMT</TimeZone> 
      <CurrencyCode>GBP</CurrencyCode> 
      <AddDate>2013-12-18T02:34:09.357</AddDate> 
      <Channel>Running</Channel> 
      <IsWaitlisted>false</IsWaitlisted> 
    </APIEvent>
  </Data>
</ResultsOfListOfEvent>

Chcę wydrukować tekst w każdym<ID> (to znaczy.111 i112) i każdy<Title>. To tylko przykład, w zależności od uruchomionego interfejsu API chcę mieć możliwość wyboru i wybierania informacji, które ściągam.

questionAnswers(2)

yourAnswerToTheQuestion