Comment sélectionner XML nœud enfant à l'aide de son nom de base au lieu de l'Élément(#)?

Je suis un peu coincé par le suivant: j'essaie d'obtenir le taux de change de la banque locale site web au format Excel en utilisant VBA - surtout pour l'analyse XML pratique, je dirais que c'est ma première tentative sérieuse.

Après plusieurs heures de recherche sur google et de la lecture SI les questions que j'ai plus ou moins la solution de travail, mais j'aimerais l'optimiser pour une meilleure XML sous-estimer. C'est très bien, la question est:

<LIST_RATE>
    <RATE ISO="EUR" Code="978">
        <TITLE>Евро</TITLE>
        <CODE>978</CODE>
        <ISO>EUR</ISO>
        <DATE>Thu, 31 Jan 2013 09:00:00 GMT</DATE>
        <BUY>11550.0000</BUY>
        <SELL>11820.0000</SELL>
        <QUANTITY>1</QUANTITY>
    </RATE>
    <RATE ISO="RUB" Code="643">
        <TITLE>Российский рубль</TITLE>
        <CODE>643</CODE>
        <ISO>RUB</ISO>
        <DATE>Thu, 31 Jan 2013 09:00:00 GMT</DATE>
        <BUY>279.0000</BUY>
        <SELL>292.0000</SELL>
        <QUANTITY>1</QUANTITY>
    </RATE>
    <RATE ISO="USD" Code="840">
        <TITLE>Доллар США</TITLE>
        <CODE>840</CODE>
        <ISO>USD</ISO>
        <DATE>Thu, 31 Jan 2013 09:00:00 GMT</DATE>
        <BUY>8570.0000</BUY>
        <SELL>8710.0000</SELL>
        <QUANTITY>1</QUANTITY>
    </RATE>
</LIST_RATE>

Pour la partie XML (juste au cas où - c'est le lien XML: http://www.priorbank.by/CurratesExportXml.axd?channel=9) je suis une boucle dans RATE nœuds enfants de LIST_RATE noeud en utilisant le code suivant:

For Each RATE_Node In LIST_RATE_Node.ChildNodes
    CurrencyCode = RATE_Node.ChildNodes.Item(2).Text 'ISO node
    RateValue = CSng(Replace(RATE_Node.ChildNodes.Item(4).Text, ".", ",")) 'BUY node
    [rest of code]
Next

Le code fonctionne très bien, mais j'aimerais sélectionnez RATE nœud nœuds enfants d'une certaine manière à l'aide de leurs noms au lieu de Item(#). J'ai essayé selectSingleNode, mais je ne suis pas du tout familier avec XPath, et de la notation que j'ai utilisé toujours retourné la première <RATE ISO="EUR" Code="978"> valeurs. getElementsByTagName retourne le tas de nœuds, et ainsi de suite.

J'ai lu beaucoup de SI des questions, mais toujours bloqué. Je suis sûr que la solution est simple, j'ai juste besoin de faire toutes les deux bouts. Tout avis ou des conseils pour la bonne direction sera fortement appréciée. Merci à l'avance!

+1 bien aménagé et intéressante question

OriginalL'auteur Peter L. | 2013-02-02