cocos2d-x读取xml(适用于cocos2d-x 2.0以上版本号)
XML 读取 2.0 cocos2d 适用 版本号 以上
2023-09-14 09:10:27 时间
为了能在cocos2d-x的文本标签中显示中文,一个是转换文件编码格式,还有一种就是读取utf-8格式的xml文件。我选择了后者,其原因大家可以去搜索一下cocos2d-x显示中文,希望可以你给答案。无论怎么样,本篇是介绍cocos2d-x读取xml的内容。以下開始吧。
首先先看代码:
#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
相关文章
- [Qt教程] 第27篇 XML(一)使用DOM读取XML文档
- Extjs读取xml文件生成动态表格和表单(续)
- resmenumain.xml:6: error: No resource identifier found for attribute 'showAsAction' in package 'com.xxx.xxxx'
- unity Android 打包后读取 xml 文件
- cocos2d-x读取xml(适用于cocos2d-x 2.0以上版本)
- xml 与 DataSet 互相转换
- ssm(Spring+Spring mvc+mybatis)Dao层配置sql的文件——DeptDaoMapper.xml
- 最全三大框架整合(使用映射)——Dept.hbm.xml
- 第四十一节,xml处理模块
- 【RF库XML测试】测试的XML文件说明
- C#读取XML文件——自定义类
- EasyPlayerPro Windows播放器读取xml配置文件中的特殊字符问题
- 怎么读出Xml文件中某个节点、属性的信息
- SAP UI5应用里使用jQuery.ajax异步读取xml文档并显示在SAP UI5应用界面上
- C# 读取xml文件忽略xml文件的注释
- Editplus 格式化 xml
- paip.获取proxool的配置 xml读取通过jdk xml 初始化c3c0在代码中总结
- 用nodejs xml2js读取xml文件
- 已解决FileNoundError: [Errno 2] No such file or drectory: ‘./1.xmL‘
- XML——读取文件夹下所有的Xml文件,并修改属性,保留上次打开文件的位置
- springboot基于mybatis扫描jar包中的controller、service、dao、xml
- java读取xml文件
- maven项目建立pom.xml报无法解析org.apache.maven.plugins:maven-resources-plugin:2.4.3
- Unity3d 新建xml 读取xml
- 下列可以用来解析XML的是( )
- Liquibase----XML格式通过update更新H2 Database数据库
- (14)数据增强之图像裁剪+标签文件.xml内容修改、json读取与修改