我用的是2.1.4的cocos2d-x,里面自带有tinyxml2库。好像2.1.0以上都有了
导入头文件:
#include "support/tinyxml2/tinyxml2.h"
一:创建xml并保存
//要储存XML文件的路径 std::string filePath = CCFileUtils::sharedFileUtils()->getWritablePath() + "wociao.xml"; xml文档 XMLDocument *pDoc = new XMLDocument(); if (NULL==pDoc) { return ; } xml声明 XMLDeclaration *pDel = pDoc->NewDeclaration(xml version=\"1.0\" encoding=\"UTF-8\"); pDel) { ; } pDoc->LinkEndChild(pDel); 节点plist XMLElement *plistElement = pDoc->NewElement(plist); plistElement->SetAttribute(version",1.0");给节点设置属性 pDoc->LinkEndChild(plistElement); 节点dict XMLElement *dictElement = pDoc->NewElement(dict); plistElement->LinkEndChild(dictElement); 节点key XMLElement *keyElement = pDoc->NewElement(key); keyElement->LinkEndChild(pDoc->NewText(keyText"));给节点设置值 dictElement->LinkEndChild(keyElement); 节点string XMLElement *stringElement = pDoc->NewElement(string); stringElement->LinkEndChild(pDoc->NewText(stringTextLinkEndChild(stringElement); 节点array XMLElement *arrayElemet = pDoc->NewElement(array); dictElement->LinkEndChild(arrayElemet); for (int i = 0; i<3; i++) { XMLElement *strEle = pDoc->NewElement(); strEle->LinkEndChild(pDoc->NewText(icon)); arrayElemet->LinkEndChild(strEle); } pDoc->SaveFile(filePath.c_str());保存文件 参数:路径 pDoc->Print();打印 delete pDoc;
打印的结果
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
dict>
key>keyText</string>stringTextarray>
>icon>
plist>