VBAを使用して、以下のXMLの「レート」値を取得しようとしています(これは大幅に短縮されたバージョンで、実際には500以上の選択肢があります)。私は正しいノードに到達するまで、すべてのノードを1つずつ循環させることなく、そのノードに到達するのに苦労しています。Excel VBAでXMLを読む
-<DC>
- <Overviews>
- <OverviewCurve>
<Identifier>zero_libor_usd</Identifier>
- <Curve>
- <YieldCurve>
- <Node>
<Term>32</Term>
<Rate>0.027613082673910938</Rate>
</Node>
</YieldCurve>
</Curve>
</OverviewCurve>
</Overviews>
</DC>
私が使用しようとしていたコードが..です
Set xmldoc = New MSXML2.DOMDocument60
xmldoc.async = False
xmldoc.Load (Range("Path").Value & Range("FileName").Value)
Set xmlNode2 =xmldoc.SelectSingleNode("/DC/Overviews/OverviewCurve/Identifier/Curve/YieldCurve/Node/Rate")
しかしxmlNode2のコードを返す "何もありません"。 xmlファイル自体には基本的に5つの "OverviewCurve"ノードがあり、すべて50の "レート"ノード(つまり50 "用語"ノード)と同じ方法で構成されています。私はこれらのファイルをファイルから取得しようとしています。私は抽出しようとしているものに関連していないので、 "Overviews"ノードの子ノードである他のノードをいくつか削除しました。