• cocos2d-x读取xml(适用于cocos2d-x 2.0以上版本号)


        为了能在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

  • 相关阅读:
    UOJ#48最大矩形面积
    webbench压力测试工具
    编写NPAPI plugin的命名问题
    搜狗浏览器查看合法插件的方法
    结构型模式之 享元模式
    结构型模式之 外观模式
    结构型模式之 装饰模式
    结构型模式之 桥接模式
    结构型模式之 适配器模式
    Codeforces Round #102 (Div. 2) 题解
  • 原文地址:https://www.cnblogs.com/blfshiye/p/3803889.html
Copyright © 2020-2023  润新知