用cocos2d-x 解析xml
阿新 • • 發佈:2018-12-05
原帖地址 http://blog.sina.com.cn/s/blog_7018d38201010yop.html
cocos2d-x如何獲得Resources目錄路徑?--
CCFileUtils::fullPathFromRelativePath("檔名")可以使用TinyXML
TinyXML是一個開源的解析XML的解析庫,能夠用於C++,能夠在Windows或Linux中編譯。這個解析庫的模型通過解析XML檔案,然後在記憶體中生成DOM模型,從而讓我們很方便的遍歷這課XML樹。
注:DOM模型即文件物件模型,是將整個文件分成多個元素(如書、章、節、段等),並利用樹型結構表示這些元素之間的順序關係以及巢狀包含關係(理解html語言的讀者會很容易理解這種樹狀模型)。
如下是一個XML片段:
<Persons>
<Person ID="1">
<name>周星星</name>
<age>20</age>
</Person>
<Person ID="2">
<name>白晶晶</name>
<age>18</age>
</Person>
</Persons>
TiXmlBase:整個TinyXML模型的基類。
TiXmlAttribute:對應於XML中的元素的屬性。
TiXmlNode
TiXmlComment:對應於XML中的註釋。
TiXmlDeclaration:對應於XML中的申明部分,即<?versiong="1.0" ?>。
TiXmlDocument:對應於XML的整個文件。
TiXmlElement:對應於XML的元素。
TiXmlText:對應於XML的文字部分。
TiXmlUnknown:對應於XML的未知部分。
TiXmlHandler:定義了針對XML的一些操作。
那我們如何使用這些類以及他們的方法來操縱我們的XML呢?請看下面。
一、讀取XML(假設我們的Xml文件中的內容與上面的Xml內容一樣)
//建立一個XML的文件物件。
TiXmlDocument *myDocument = new TiXmlDocument("填上你的Xml檔名");
myDocument->LoadFile();
//獲得根元素,即Persons。
TiXmlElement *RootElement = myDocument.RootElement();