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