#include <tinyxml2/tinyxml2.h>
using namespace tinyxml2;
//
创建文档对象
auto myTinyXMLDoc = new XMLDocument ();
// 创建根节点并连接到文档
auto rootElement = myTinyXMLDoc-> NewElement ( "information" );
myTinyXMLDoc-> LinkEndChild (rootElement);
// 创建 student 节点 并连接到根节点
auto stuElement = myTinyXMLDoc-> NewElement ( "student" );
rootElement-> LinkEndChild (stuElement);
// 创建 person 节点 并连接到 student 节点
auto personElement = myTinyXMLDoc-> NewElement ( "person" );
stuElement-> LinkEndChild (personElement);
// 为 person 节点设置属性
personElement-> SetAttribute ( "id" , "123" );
// 创建 name 节点 并连接到 person 节点
auto nameElement = myTinyXMLDoc-> NewElement ( "name" );
personElement-> LinkEndChild (nameElement);
// 为 name 节点添加文本值
auto nameText = myTinyXMLDoc-> NewText ( "zhangsan" );
nameElement-> LinkEndChild (nameText);
// 创建 sex 节点 并连接到 person 节点
auto sexElement = myTinyXMLDoc-> NewElement ( "sex" );
personElement-> LinkEndChild (sexElement);
// 为 sex 节点添加文本值
auto sexText = myTinyXMLDoc-> NewText ( "male" );
sexElement-> LinkEndChild (sexText);
// 保存 XML
myTinyXMLDoc-> SaveFile ( FileUtils :: getInstance ()-> fullPathForFilename ( "stuInfo.xml" ). c_str ());
// 打印 XML
myTinyXMLDoc-> Print ();
// 删除 myTinyXMLDoc 对象
auto myTinyXMLDoc = new XMLDocument ();
// 创建根节点并连接到文档
auto rootElement = myTinyXMLDoc-> NewElement ( "information" );
myTinyXMLDoc-> LinkEndChild (rootElement);
// 创建 student 节点 并连接到根节点
auto stuElement = myTinyXMLDoc-> NewElement ( "student" );
rootElement-> LinkEndChild (stuElement);
// 创建 person 节点 并连接到 student 节点
auto personElement = myTinyXMLDoc-> NewElement ( "person" );
stuElement-> LinkEndChild (personElement);
// 为 person 节点设置属性
personElement-> SetAttribute ( "id" , "123" );
// 创建 name 节点 并连接到 person 节点
auto nameElement = myTinyXMLDoc-> NewElement ( "name" );
personElement-> LinkEndChild (nameElement);
// 为 name 节点添加文本值
auto nameText = myTinyXMLDoc-> NewText ( "zhangsan" );
nameElement-> LinkEndChild (nameText);
// 创建 sex 节点 并连接到 person 节点
auto sexElement = myTinyXMLDoc-> NewElement ( "sex" );
personElement-> LinkEndChild (sexElement);
// 为 sex 节点添加文本值
auto sexText = myTinyXMLDoc-> NewText ( "male" );
sexElement-> LinkEndChild (sexText);
// 保存 XML
myTinyXMLDoc-> SaveFile ( FileUtils :: getInstance ()-> fullPathForFilename ( "stuInfo.xml" ). c_str ());
// 打印 XML
myTinyXMLDoc-> Print ();
// 删除 myTinyXMLDoc 对象
delete myTinyXMLDoc;
cocos2d: fullPathForFilename: No file found at stuInfo.xml. Possible missing file.
<information>
<student>
<person id="123">
<name>zhangsan</name>
<sex>male</sex>
</person>
</student>
<information>
<student>
<person id="123">
<name>zhangsan</name>
<sex>male</sex>
</person>
</student>
</information>
第二部分解析:
auto
myTinyXMLDoc =
new
XMLDocument
();
myTinyXMLDoc-> Parse ( FileUtils :: getInstance ()-> getStringFromFile ( "stuInfo.xml" ). c_str ());
// 或者
// auto myTinyXMLDoc = new XMLDocument(FileUtils::getInstance()->fullPathForFilename("stuInfo.xml").c_str());
// myTinyXMLDoc->LoadFile(FileUtils::getInstance()->fullPathForFilename("stuInfo.xml").c_str());
// 获取根节点
auto rootElement = myTinyXMLDoc-> RootElement ();
// 获取 student 节点
auto stuElement = rootElement-> FirstChildElement ();
// 获取 person 节点
auto personElement = stuElement-> FirstChildElement ();
while (personElement) {
// 获取 student 的属性
auto attributeInfo = personElement-> FirstAttribute ();
while (attributeInfo) {
// 获取所有属性
CCLOG ( "%s: %s:" ,attributeInfo-> Name (),attributeInfo-> Value ());
attributeInfo = attributeInfo-> Next ();
}
// 获取 name
auto nameElement = personElement-> FirstChildElement ();
CCLOG ( "name: %s" ,nameElement-> GetText ());
// 获取 sex
auto sexElement = nameElement-> NextSiblingElement ();
CCLOG ( "sex: %s" ,sexElement-> GetText ());
// 查找下一节点
personElement = personElement-> NextSiblingElement ();
}
// 删除 myTinyXMLDoc 对象
delete myTinyXMLDoc;
myTinyXMLDoc-> Parse ( FileUtils :: getInstance ()-> getStringFromFile ( "stuInfo.xml" ). c_str ());
// 或者
// auto myTinyXMLDoc = new XMLDocument(FileUtils::getInstance()->fullPathForFilename("stuInfo.xml").c_str());
// myTinyXMLDoc->LoadFile(FileUtils::getInstance()->fullPathForFilename("stuInfo.xml").c_str());
// 获取根节点
auto rootElement = myTinyXMLDoc-> RootElement ();
// 获取 student 节点
auto stuElement = rootElement-> FirstChildElement ();
// 获取 person 节点
auto personElement = stuElement-> FirstChildElement ();
while (personElement) {
// 获取 student 的属性
auto attributeInfo = personElement-> FirstAttribute ();
while (attributeInfo) {
// 获取所有属性
CCLOG ( "%s: %s:" ,attributeInfo-> Name (),attributeInfo-> Value ());
attributeInfo = attributeInfo-> Next ();
}
// 获取 name
auto nameElement = personElement-> FirstChildElement ();
CCLOG ( "name: %s" ,nameElement-> GetText ());
// 获取 sex
auto sexElement = nameElement-> NextSiblingElement ();
CCLOG ( "sex: %s" ,sexElement-> GetText ());
// 查找下一节点
personElement = personElement-> NextSiblingElement ();
}
// 删除 myTinyXMLDoc 对象
delete myTinyXMLDoc;
创建xml文件:New File—other—Empty 输入 文件名.xml