0

C++ で XML ファイルを解析するために tinyXml を使用しています。ノード(親/子/次の兄弟)が存在するかどうかを確認する方法を教えてください。以下は、私が取り組んでいるxmlファイルに存在する唯一のノードです。

TiXmlElement* Instrmt = TrdCaptRpt->FirstChildElement();
TiXmlElement* Undly = Instrmt->NextSiblingElement();
TiXmlElement* Amt = Undly->NextSiblingElement();
TiXmlElement* RptSide = Amt->NextSiblingElement();
TiXmlElement* Pty = RptSide->FirstChildElement();

上記のノードのいずれかがシーケンスで欠落している場合、プログラムはセグメンテーション違反で中止されます。

誰でも助けてください。

ありがとう

4

2 に答える 2

1

クラスのconst TiXmlNode* TiXmlNode::FirstChild ( const char * value ) const関数を使用して、結果がであるかどうかを確認できます。TiXmlNodeTiXmlNode*NULL

TiXmlNode* child = mynode->FirstChild();

if (child != NULL)
{
  //A child exists....
}

親の場合、同様の機能があります。ドキュメントはここにあります

これがお役に立てば幸いです。

于 2011-04-08T09:09:31.720 に答える
1

TiXml は、NULL のチェックを処理するTiXMlHandleクラスを提供するため、セグメンテーション エラーを分類する必要があります。チェーンの最後にあるノードの存在を確認する必要があります。

于 2011-04-08T09:29:44.820 に答える