TinyXml开源库中TiXmlDocument类提供LoadFile()函数,用于加载XML文件;返回值bool类型,反应加载成功还是失败。在哪些情况下会加载失败?哪些原因导致加载XML文件不成功呢?
null
使用TinyXml加载XML文件的一般过程如下:
TiXmlDocument doc( fileName.c_str() );
bool loadOkay = doc.LoadFile();
当返回值为false时,可以通过调用TiXmlDocument的函数ErrorDesc()、ErrorRow()、ErrorCol()、ErrorID()等获取错误信息:实例代码如下:
std::string errStr = doc.ErrorDesc();
int rowID = doc.ErrorRow();
LoadFile()函数加载XML文件失败原因一:编码错误
在XML文件第一行<?xml version=”1.0″ encoding=”gb2312″?>中声明编码格式,LoadFile()函数根据声明的编码格式加载解析文件;否则,按照xml文件在系统中的存储编码格式加载。
当文档中包含中文时,如果不声明encoding=”gb2312″,有可能加载失败;
即便声明了encoding=”gb2312″,但文件本身保存为UTF-8格式,加载到的数据包含的中文显示为乱码。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容