cocos2dx TinyXml2的使用
来源:互联网 发布:php实现字符串反转 编辑:程序博客网 时间:2024/05/22 10:35
想要更多了解,请点击下面链接:
转自:http://www.firedragonpzy.com.cn/index.php/archives/3588
这里我只说明一下如何使用,那原文章的例子来说:
要读取的XML文件如下:
<Persons> <Person ID=”1″> <name>周星星</name> <age>20</age> </Person> <Person ID=”2″> <name>白晶晶</name> <age>18</age> </Person> </Persons>
读取XML:
//创建一个XML的文档对象。 TiXmlDocument *myDocument = new TiXmlDocument("填上你的Xml文件名");myDocument->LoadFile();//获得根元素,即Persons。TiXmlElement *RootElement = myDocument.RootElement();//输出根元素名称,即输出Persons。cout << RootElement->Value() << endl;//获得第一个Person节点。TiXmlElement *FirstPerson = RootElement->FirstChildElement();//获得第一个Person的name节点和age节点和ID属性。TiXmlElement *NameElement = FirstPerson->FirstChildElement();TiXmlElement *AgeElement = NameElement->NextSiblingElement();TiXmlAttribute *IDAttribute = FirstPerson->FirstAttribute();//输出第一个Person的name内容,即周星星;age内容,即20;ID属性,即1。cout << NameElement->FirstChild()->Value << endl;cout << AgeElement->FirstChild()->Value << endl;cout << IDAttribute->Value() << endl;
另外一种XML格式:
<include>
<data taskId="1" taskName="捕鱼任务" fish_id="1" eventType="1" taskTime="150" needNum="30" rewardGold="100" rewardExp="100"/> <data taskId="2" taskName="捕鱼任务" fish_id="1" eventType="1" taskTime="180" needNum="40" rewardGold="100" rewardExp="100"/> <data taskId="3" taskName="捕鱼任务" fish_id="2" eventType="1" taskTime="180" needNum="20" rewardGold="100" rewardExp="120"/> </include>
这样的XML读取如下:
tinyxml2::XMLDocument doc;//创建一个XML的文档对象 if(!CommonFunc::loadInnerDictFile(doc, "你的XML文件")){ return 1; } tinyxml2::XMLElement * curNode = doc.RootElement()->FirstChildElement("data");//获取根元素名称 while(curNode){ TaskInfo *info = new TaskInfo(); info->id = curNode->IntAttribute("taskId"); info->taskName = curNode->Attribute("taskName"); info->evenType = curNode->IntAttribute("eventType"); info->fishId = curNode->IntAttribute("fish_id"); info->taskTime = curNode->IntAttribute("taskTime"); info->needCount = curNode->IntAttribute("needNum"); info->rewardGold = curNode->IntAttribute("rewardGold"); info->rewardExp = curNode->IntAttribute("rewardExp"); vector<TaskInfo*>::iterator iter = m_taskInfos.begin(); for (; iter != m_taskInfos.end(); iter++) { if ((*iter)->id > info->id) { break; } }//把解析的第一排数据放入Vector容器中 m_taskInfos.insert(iter, 1, info);//解析第二排数据 curNode = curNode->NextSiblingElement("data");
0 0
- cocos2dx TinyXml2的使用
- tinyxml2库的使用
- tinyxml2的使用
- cocos2dx --tinyxml2 学习笔记
- cocos2dx 3.2 读写XML,基于tinyxml2封装的易使用,更灵活的XML接口。中文国际化。
- 使用Tinyxml2进行简单的xml操作
- tinyxml2简单使用
- 使用C++ tinyxml2库
- TinyXML2使用教程
- C++中使用TinyXML2
- TinyXML2开源库使用
- 使用tinyXML2 读写配置文件
- cocos2dx 3.6 关于场景间传值(UserDefault)、本地存储的基本方法(tinyxml2)
- Android使用TinyXml2读取文件出错的解决办法
- cocos中使用tinyxml2遇到的一个小问题
- tinyxml2的简单运用
- TinyXML2
- 使用tinyxml2库解析xml
- Hibernate中load和get方法区别
- 7款Android开发者常用的Android UI组件
- 【Linux】-h 和查找最大文件
- golang 中map并发读写操作
- 虚拟化平台网桥配置与使用
- cocos2dx TinyXml2的使用
- linux 安装 maven
- 瑞柏匡丞揭秘:互联网思维创业为什么可以成功?
- 《编码:隐匿在计算机软硬件背后的语言》 读书笔记 03
- 《深入理解Java虚拟机》读书笔记3——类文件结构
- FBReader阅读器各源码作用和知识点分析
- 淮北濉溪县丨治前列腺炎到哪家医院比较好
- 手机号码正则表达式
- bochs2.6中bochsrc的介绍