cocos2d-x读取xml(适用于cocos2d-x 2.0以上版本)
2014-05-04 09:53
309 查看
为了能在cocos2d-x的文本标签中显示中文,一个是转换文件编码格式,另一种就是读取utf-8格式的xml文件。我选择了后者,其原因大家可以去搜索一下cocos2d-x显示中文,希望能够你给答案。不管怎么样,本篇是介绍cocos2d-x读取xml的内容。下面开始吧。
首先先看代码:
cpp中主要实现了两个通过关键字获取对应内容的函数。下面是.h文件:
声明了一个字典用来存储从xml中读取的内容。
例如下面的一个xml文件:
大家也可在github中查看源代码:https://gist.github.com/xiebaochun/835508ffa63907c1cca3
首先先看代码:
#include "CXmlStream.h" CXmlStream::CXmlStream(const char* dicFilename) { this->m_dictionary = CCDictionary::createWithContentsOfFile(dicFilename); } CXmlStream::~CXmlStream() { } const char* CXmlStream::GetStringByKey(const char* keyword) { return ((CCString*)(this->m_dictionary->objectForKey(keyword)))->m_sString.c_str(); } const char* CXmlStream::GetStringByKeyFromFile(const char* dicFilename, const char* keyword) { CCDictionary *dictionary = CCDictionary::createWithContentsOfFile(dicFilename); return ((CCString*)dictionary->objectForKey(keyword))->m_sString.c_str(); }
cpp中主要实现了两个通过关键字获取对应内容的函数。下面是.h文件:
#ifndef __CXMLSTREAM_H__ #define __CXMLSTREAM_H__ #include "cocos2d.h" USING_NS_CC; class CXmlStream { private: CCDictionary* m_dictionary; public: CXmlStream(const char* dicFilename); ~CXmlStream(); const char* GetStringByKey(const char* keyword); static const char* GetStringByKeyFromFile(const char* dicFilename, const char* keyword); }; #endif
声明了一个字典用来存储从xml中读取的内容。
例如下面的一个xml文件:
<dict> <key>HomeScene</key> <string>首頁</string> <key>MainScene</key> <string>主頁</string> <key>BookScene</key> <string>百科</string> <key>GameScene</key> <string>遊戲</string> <key>AnimScene</key> <string>動畫</string> <key>FOgameScene</key> <string>力的作用</string> <key>FOgameScene_Book</key> <string>力的作用 - 百科</string> <key>FOgameScene_Game</key> <string>力的作用 - 遊戲</string> <key>FOgameScene_Anim</key> <string>力的作用 - 動畫</string> <key>GVScene</key> <string>地球引力</string> <key>GVScene_Book</key> <string>地球引力 - 百科</string> <key>GVScene_Game</key> <string>地球引力 - 遊戲</string> <key>GVScene_Anim</key> <string>地球引力 - 動畫</string> </dict>
大家也可在github中查看源代码:https://gist.github.com/xiebaochun/835508ffa63907c1cca3
相关文章推荐
- cocos2d-x读取xml(适用于cocos2d-x 2.0以上版本号)
- 对XML文档进行Schema校验的方法(适用于Framework2.0及以上版本)
- 从读取视频程序比较opencv1.0与2.0以上版本
- Cocos2D-x 2.0以上版本跨Android开发环境的搭建---------------------cocos2d-x 3.0正式版本(7.2)
- Cocos2d-x 设置竖屏的方法 2.0以上版本
- Cocos2d-x 设置竖屏的方法 2.0以上版本
- Cocos2d-x 2.0以上版本安装方法
- Cocos2d-x 设置竖屏的方法 2.0以上版本
- 从读取图像程序比较opencv1.0与opencv2.0以上版本
- Cocos2d-x 设置竖屏的方法 2.0以上版本
- Cocos2d-x 设置竖屏的方法 2.0以上版本
- 保存XML文件时如何保证其内容带有XML格式?(Framework2.0版本及以上)
- Cocos2d-x 设置竖屏的方法 2.0以上版本
- cocos2d XML遍历读取之调用C库FILE读取(太神了)--第三章
- servlet3.0及以上版本可以读取jar包下/META-INF/resources 资源
- Android 读取联系人2.0以上
- Elasticsearch 2.0以上版本根据条件批量删除Java如何实现
- Cocos2d-2.0与1.0版本的一些差异
- cocos2d-x 中xml的读取
- cocos2dx中调用TinyXml读取xml配置文件 || cocos2d-x 中跨平台tinyxml读取xml文件方式