DOM パーサーを使って XML 文書を解析する
SFXXMLDOMParser::Parse を使って、XML 文書を読み込み、解析します。
解析する文書( file.xml )<fruit> <name>apple</name> <size>XS</size> <color>red</color> </fruit>要素の取得するサンプルコード
SFXXMLDOMParser parser; // DOM パーサ SFCError error; // エラー値 SFXAnsiString resultString; // 結果を格納する文字列 // file.xml に保存した XML 文書を解析する if ((error = parser.Parse("/file.xml")) == SFERR_NO_ERROR) { // ルート要素を取得する SFXXMLDocumentPtr root = parser.GetDocument(); // ルート要素の最初の子要素 ( "fruit" 要素 ) を取得する SFXXMLNodePtr child = root->GetFirstChild(); // "fruit" 要素のすべての子要素を取得する // SFXXMLNode::DOMNodeListPtr は SFXListと同じ SFXXMLNode::DOMNodeListPtr nodeList = child->GetChildNodes(); // イテレータを取得する SFXXMLNode::DOMNodeList::Iterator itor = nodeList->GetIterator(); while (itor.HasNext()) { // 次の要素があるかぎり繰り返す // "name"要素、"size"要素、"color" 要素の順に取得できる SFXXMLNodePtr node = itor.GetNext(); // 要素の名前を取得する resultString = node->GetNodeName(); // 要素のテキストを取得する // ( "name" の場合は "apple"、"size" の場合は "XS" 、 // "color"の場合は"red") resultString = node->GetText(); } }