TiXmlDocument变量LoadFile()加载XML文档失败的原因有哪些?

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
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容