我正在使用tinyXml在C ++中解析XML文件。谁能告诉我如何检查节点(父/子/下一个兄弟节点)是否存在。以下是我正在处理的xml文件中存在的唯一节点。

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


如果序列中缺少上述任何节点,则程序将因分段错误而中止。

谁能帮忙。

谢谢

最佳答案

您可以使用const TiXmlNode* TiXmlNode::FirstChild ( const char * value ) const类的TiXmlNode函数,并检查生成的TiXmlNode*是否为NULL

TiXmlNode* child = mynode->FirstChild();

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


对于家长,您具有类似的功能。您可以找到文档here

我希望这有帮助。

10-08 11:37