tinyxml解析器怎么样解析嵌套实体xml文件?
这个是xml文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE IAP [<!ENTITY SetSimulated SYSTEM "../simulated.xml">]>
<Control>
<PMCI>
<interlocks>
<sintlk>
<sIntlkOpenFinalValve type="instance" class="OpenFinalValve" simulate="false"/>
<sIntlkOpenHeValve type="instance" class="OpenHeValve" simulate="false"/>
<sIntlkOpenTMPPurgeValve type="instance" class="OpenTMPPurgeValve" simulate="false"/>
<sIntlkOpenIonGaugeValve type="instance" class="OpenIonGaugeValve" simulate="false"/>
</sintlk>
</Control>
这个是xml文件解析的代码:
TiXmlDocument *elementnode = NULL;
bool loadokay = false;
elementnode = new TiXmlDocument();
loadokay = elementnode->LoadFile(xmlPath);
if (elementnode->Error() && elementnode->ErrorId() == TiXmlBase::TIXML_ERROR_OPENING_FILE)
{
string fatal = "Parse XML file: " + string(xmlPath) + " failed! The XML parser created a NULL DOMDocument.";
SysLogger::getInstance()->logMsg(LOGBRANCH::RECIPE, LEVEL::FATAL, fatal);
throw XMLParseException(fatal);
}
TiXmlNode *Rootnode = (TiXmlNode*)elementnode->RootElement();
cout<<"Rootnode->Value = "<<Rootnode->Value()<<endl; //这里出现异常
在使用的时候我是直接使用tinyxml文件夹没有编译成库。
不能获取根节点是因为tinyxml解析器不支持嵌套实体的解析吗?还是解析的方法错了?如果不能用来解析嵌套实体,大神可以推荐一个简单好用的xml解析器吗?谢谢了。。。。