以下のXMLをgetElementsByTagNameを使用して読み込みたいのですが、
getElementsByTagNameを使用するまでのコードが記述できません。以下、コードの続きは
どのようにしたらよいでしょうか。
■XML文書
<AAAA>A1</AAAA>
<BBBB>B1</BBBB>
<BBBB>B2</BBBB>
<AAAA>A2</AAAA>
<BBBB>B3</BBBB>
<BBBB>B4</BBBB>
※AAAA要素内にBBBB要素を2つ持っているイメージ。
AAAA要素のノードリストを作成し、ノード1の要素B1・B2、ノード2の要素B3・B4・・・
と取得していくイメージです。
CComPtr<MSXML::IXMLDOMDocument> gXmldom;
Func()
{
// COMの初期化等は省略
// AAAAのノードリストを作成する
MSXML::IXMLDOMNodeListPtr plName;
gXmldom->getElementsByTagName(A2W(AAAA), &plName);
for (int i = 0; i < 2; i++)
{
★★★質問★★★
A1の子ノードBBBBのB1・B2、A2の子ノードBBBBのB3・B4・・・と取得したいです。
ここにどのようなコードを記述すればB1・B2、B3・B4と取得できるのでしょうか?
getElementsByTagNameでBBBBを指定して取得できればいいのですが。
}
}
上記につきまして、ご教授願います。
> <AAAA>A1</AAAA>
> <BBBB>B1</BBBB>
> <BBBB>B2</BBBB>
> <AAAA>A2</AAAA>
> <BBBB>B3</BBBB>
> <BBBB>B4</BBBB>
は
> ※AAAA要素内にBBBB要素を2つ持っているイメージ。
ではないですよね!?
<AAAA>A1
<BBBB>B1</BBBB>
<BBBB>B2</BBBB>
</AAAA>
<AAAA>A2
<BBBB>B3</BBBB>
<BBBB>B4</BBBB>
</AAAA>
ではないですか?
で、本題のどうやって
> A1の子ノードBBBBのB1・B2、A2の子ノードBBBBのB3・B4・・・と取得したいです。
> ここにどのようなコードを記述すればB1・B2、B3・B4と取得できるのでしょうか?
> getElementsByTagNameでBBBBを指定して取得できればいいのですが。
ですが、
IXMLDOMNodePtr GetfirstChild ( );
IXMLDOMNodePtr GetnextSibling ( );
を使用してA1の子ノードである最初のBBBB、次のBBBBと順番にたどれば良いでしょう。
// 実際のコードは書けない私(^O^)