0

我正在使用 tinyXml 解析 C++ 中的 XML 文件。谁能告诉我如何检查节点(父/子/下一个兄弟)是否存在。以下是我正在处理的 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功能TiXmlNode并检查结果TiXmlNode*是否正确NULL

TiXmlNode* child = mynode->FirstChild();

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

对于 Parent,您有类似的功能。您可以在此处找到文档。

我希望这有帮助。

于 2011-04-08T09:09:31.720 回答
1

TiXml 提供了TiXMlHandle类来负责检查 NULL,所以它应该解决段错误。您仍然需要检查链末端的节点是否存在。

于 2011-04-08T09:29:44.820 回答