我使用tinyXml在C ++中解析XML文件。谁能告诉我如何检查节点(父/子/下一个兄弟)是否存在。下面是我正在处理的xml文件中存在的唯一节点。
TiXmlElement* Instrmt = TrdCaptRpt->FirstChildElement();
TiXmlElement* Undly = Instrmt->NextSiblingElement();
TiXmlElement* Amt = Undly->NextSiblingElement();
TiXmlElement* RptSide = Amt->NextSiblingElement();
TiXmlElement* Pty = RptSide->FirstChildElement();
如果序列中缺少上述任何节点,则程序将以分段错误中止。
有人可以帮忙。
由于
答案 0 :(得分:1)
您可以使用const TiXmlNode* TiXmlNode::FirstChild ( const char * value ) const
课程的TiXmlNode
功能,检查结果TiXmlNode*
是否为NULL
。
TiXmlNode* child = mynode->FirstChild();
if (child != NULL)
{
//A child exists....
}
对于Parent,您有类似的功能。您可以找到文档here。
我希望这会有所帮助。
答案 1 :(得分:1)
TiXml提供了TiXMlHandle类来处理NULL的检查,所以它应该解决segmentaiton的错误。您仍然需要检查链末端是否存在节点。