cocos2dx 3.1.1 用tinyxml2.h解释xml (C++)
来源:互联网 发布:淘宝店铺等级在哪里看 编辑:程序博客网 时间:2024/05/20 01:46
cocos2dx 3.1.1怎样用tinyxml2.h解释xml? (C++)
cocos2dx已经自带了tinyxml2用于xml的解释,很早之前从2.x的版本开始已经无需再特地去下载.
不过,tinyxm2关于3.x引擎的文档比较少,特此来贡献一个!
#include "cocos-ext.h”
#include "tinyxml2/tinyxml2.h”
using namespace tinyxml2;
using namespace std;
例子1:
<?xml version="1.0"?>
<Hello>World</Hello>
xml解释:
- string file_path = FileUtils::getInstance()->fullPathForFilename("testset.xml");//如果新建的是lua项目中需要写("res/text.xml");
- log("external file path = %s",file_path.c_str());
- XMLDocument doc;
- //加载文件
- doc.LoadFile(file_path.c_str());
- const char* content= doc.FirstChildElement( "Hello" )->GetText();
- log( "Hello,%s", content );
输出结果Hello,World
例子2:
hello.xml文件内容
<?xml version="1.0"?>
<scene name="Depth">
<node type="camera">
<eye>0 10 10</eye>
<front>0 0 -1</front>
<refUp>0 1 0</refUp>
<fov>90</fov>
</node>
<node type="Sphere">
<center>0 10 -10</center>
<radius>10</radius>
</node>
<node type="Plane">
<direction>0 10 -10</direction>
<distance>10</distance>
</node>
</scene>
xml解析:
- string file_path = FileUtils::getInstance()->fullPathForFilename("hello.xml");
- log("external file path = %s",file_path.c_str());
- XMLDocument document;
- document.LoadFile(file_path.c_str());
- XMLElement *scene=document.RootElement();
- XMLElement *surface=scene->FirstChildElement("node");
- while (surface)
- {
- XMLElement *surfaceChild=surface->FirstChildElement();
- const char* content;
- const XMLAttribute *attributeOfSurface = surface->FirstAttribute();
- log("%s:%s",attributeOfSurface->Name(),attributeOfSurface->Value());
- while(surfaceChild)
- {
- content=surfaceChild->GetText();
- surfaceChild=surfaceChild->NextSiblingElement();
- log("%s",content);
- }
- surface=surface->NextSiblingElement();
- }
输出结果:
cocos2d: type:camera
cocos2d: 0 10 10
cocos2d: 0 0 -1
cocos2d: 0 1 0
cocos2d: 90
cocos2d: type:Sphere
cocos2d: 0 10 -10
cocos2d: 10
cocos2d: type:Plane
cocos2d: 0 10 -10
cocos2d: 10
参考资料:
http://blog.csdn.net/educast/article/details/12908455
- cocos2dx 3.1.1 用tinyxml2.h解释xml (C++)
- cocos2dx 3.1.1 用tinyxml2.h解释xml (C++)
- c++xml解析之tinyxml2
- cocos2dx tinyxml读写示例,tinyxml2读xml示例,
- tinyxml2 xml
- cocos2dx --tinyxml2 学习笔记
- cocos2dx TinyXml2的使用
- tinyxml2/tinyxml2(可以用来读xml等)
- Tinyxml2读取xml文件
- tinyxml2解析XML文件
- 用TinyXml2读取XML文件的一个简单Demo
- cocos2dx 3.2 读写XML,基于tinyxml2封装的易使用,更灵活的XML接口。中文国际化。
- 利用tinyxml2读取xml文件
- 使用tinyxml2库解析xml
- C++中解析XML tinyXML2
- C++使用TinyXml2解析Xml
- tinyxml2源码分析-1
- TinyXML2
- Endnote 使用可能遇到的问题
- Online Shopping - The Best Place to Buy the Best Gizmo_61913.
- HDU2043,两段代码一模一样,一个AC了,一个WA,不知道为什么
- Cannot connect to VM 链接不到虚拟机
- Oracle数据库游标案例讲解与源码
- cocos2dx 3.1.1 用tinyxml2.h解释xml (C++)
- 字符串类型<string>
- Shanghai China Shopping - Xiang Yang Market_60948.
- 修改Unity C#模板
- linux 命令系列之ls (1)
- Keep Safety, Legalities in Mind When Using an Electric Bike_120983
- Android图片处理(Matrix,ColorMatrix)
- poj 2828 插队运用(线段树,单点更新)
- POJ 3281 - Dining(网络流‘最大流)