cocos2d-x中使用tinyxml解析xml配置。如下:

tinyxml2::XMLDocument doc;

if (tinyxml2::XML_SUCCESS != doc.LoadFile(strCfgFile.c_str())) {

return ;
}

但上面的解析在android下会有问题。发无法正确解析xml文件。因此,对于android下的解析,需要使用如下方式:

 void IXMLConfigParser::load(const std::string& strCfgFile) {
tinyxml2::XMLDocument doc;
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
unsigned long unSize = 0ul;
auto pFileContent = cocos2d::CCFileUtils::sharedFileUtils()->getFileData(strCfgFile.c_str(), "rb", &unSize);
if (nullptr != pFileContent && unSize > 0ul) {
pFileContent[unSize - 1ul] = '\0';
}
if (nullptr == pFileContent || 0ul == unSize || tinyxml2::XML_SUCCESS != doc.Parse((const char*)(pFileContent))) {
#else
if (tinyxml2::XML_SUCCESS != doc.LoadFile(strCfgFile.c_str())) {
#endif
COLAssert(false, "load xml file error => IXMLConfigParser::load");
return ;
}
auto pRootNode = doc.RootElement();
if (nullptr == pRootNode) {
return ;
}
this->doLoadConfig(*pRootNode);
}

最新文章

  1. iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用
  2. win32自绘按钮,使用GDI+(一)
  3. 实现iOS图片等资源文件的热更新化(零): 序
  4. Clearing Floats清除浮动--clearfix的不同方法的使用概述
  5. jsp中<c:if>与<s:if>的区别
  6. iOS 4.2 SDK安装
  7. JDK-windows7环境变量配置-亲测版本 以及HelloWorld
  8. Winform DataGridView直接导出Excel
  9. Python json & pickle, shelve 模块
  10. [mybatis]Example的用法-转
  11. jmeter接口测试基础知识1.0
  12. boost asio 学习(七) 网络基础 连接器和接收器(TCP示例)
  13. Vue.js表单校验;动画指令;避免内存泄露。
  14. Jaxb如何优雅的处理CData
  15. Linux高速缓冲区原理
  16. Ehcache整合spring配置
  17. JQuery Mobile+JS实现智能浮动定位导航条
  18. Fork/Join框架实现原理
  19. 使用 create-react-app 构建 react应用程序
  20. 用 WEKA 进行数据挖掘 ——第一章:简介

热门文章

  1. peewee外键性能问题
  2. skb管理函数之skb_clone、pskb_copy、skb_copy
  3. HDU 6183 Color it 线段树
  4. 使用XShell通过SSH访问Google谷歌云服务器方法
  5. centos创建子用户
  6. NOIP 2010
  7. hdu 3371(kruskal)
  8. webpy 上传文件
  9. Eclipse IDE下的Spring框架使用简单实例
  10. Kbengine cocos2djs 地图问题