すべての子ノードを取得する
SFXXMLNode::GetChildNodes メソッドを使用して、すべての子ノードを取得します。
// タグ名が "BOOK" である、すべての Element ノードを取得する SFXXMLNode::DOMNodeListPtr list = root->GetElementsByTagName("BOOK"); if (list) { // 列挙子を取得する SFXXMLNode::DOMNodeList::Enumerator enumer = list->GetFirstEnumerator(); while (enumer.HasNext()) { // 各 Element ノードを取得する SFXXMLElementPtr elem = static_cast(enumer.GetNext()); // Element ノードのすべての子ノードを取得する SFXXMLNode::DOMNodeListPtr nodeList = elem->GetChildNodes(); // 子要素の列挙子を取得する SFXXMLNode::DOMNodeList::Enumerator childiter = nodeList->GetFirstEnumerator(); while (childiter.HasNext()) { SFXXMLElementPtr child = static_cast (childiter.GetNext()); // 子ノードの名前を表示する TRACE("child name: %s", child->GetName()); // 子ノードの内容を表示する TRACE("child text: %s", child->GetText().GetCString()); } } }