Cocos2d-3.x_读取xml文件
发布时间:2020-12-14 20:50:57 所属栏目:百科 来源:网络整理
导读:测试的data.xml文件的内容如下: datap name="cxm" age="20"/p name="zqr" age="30"/p name="zrk" age="40"//data #ifndef __HELLOWORLD_SCENE_H__#define __HELLOWORLD_SCENE_H__#include "cocos2d.h"USING_NS_CC;class HelloWorld : public cocos2d::Layer
测试的data.xml文件的内容如下: <data> <p name="cxm" age="20"/> <p name="zqr" age="30"/> <p name="zrk" age="40"/> </data> #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" USING_NS_CC; class HelloWorld : public cocos2d::Layer { public: static cocos2d::Scene* createScene(); virtual bool init(); void readXmlByCocosAPI(); CREATE_FUNC(HelloWorld); private: LabelTTF *pLabel; }; #endif // __HELLOWORLD_SCENE_H__ #include "HelloWorldScene.h" #include "tinyxml2/tinyxml2.h" Scene* HelloWorld::createScene() { auto scene = Scene::create(); auto layer = HelloWorld::create(); scene->addChild(layer); return scene; } bool HelloWorld::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); pLabel = LabelTTF::create("","Arial",30); pLabel->setPosition(visibleSize/2.0); this->addChild(pLabel); this->readXmlByCocosAPI(); return true; } void HelloWorld::readXmlByCocosAPI() { auto doc = new tinyxml2::XMLDocument(); doc->Parse(FileUtils::getInstance()->getStringFromFile("data.xml").c_str()); auto root = doc->RootElement(); for (auto e = root->FirstChildElement(); e; e = e->NextSiblingElement()) { std::string str; for (auto attr = e->FirstAttribute(); attr; attr = attr->Next()) { str += attr->Name(); str += ":"; str += attr->Value(); str += ","; } log("%s",str.c_str()); } CC_SAFE_DELETE(doc); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |