【前言】
XML即可扩展标记语言,在游戏开发中,常用于保存游戏数据信息,如最高分、游戏等级等信息,和描述一些资源等。加载动画的plist文件、瓦片地图编辑器到处的地图格式tmx文件,实际上都是特定格式的xml文件。另外 UserDefault 单例类保存的数据,也是存储在xml文件中的。Cocos2d-x 已经加入了 tinyxml2库 用于xml的解析。3.x版本位于external/tinyxml2下。
本节要介绍的就是:如何使用tinyxml2库来操作处理xml文件。
【XML简介】
摘自:http://www.w3school.com.cn/xml/index.asp
1、什么是XML?
> XML 指可扩展标记语言(EXtensible Markup Language)。
> XML 是一种标记语言,很类似 HTML。
> XML 的设计宗旨是:传输数据,而非显示数据。
> XML 被设计为具有自我描述性。
> XML 是 W3C 的推荐标准。
2、XML的一个例子
先来看一个简单的例子。
1
2
3
4
5
6
7
8
9
|
//
<?xmlversion=
"1.0"
encoding=
"UTF-8"
?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don'tforgetthemeeting!</body>
</note>
//
|
代码分析:
(1)第一行是 XML 声明。它定义 XML 的版本(1.0)和所使用的编码(UTF-8字符集)。
(2)下一行描述文档的根元素(像在说:“本文档是一个便签”):<note> 。
(3)接下来 4 行描述根元素的 4 个子元素(to,from,heading,body)。
(4)最后一行定义根元素的结尾:</note> 。
以上是一个简单的XML文档。可以发现XML的语法很简单,标签没有被预定义,都是自己定义的标签。并且元素可以有子元素,这就形成了一个树形结构。
3、XML树结构
> XML 文档必须包含根元素,该元素是所有其他元素的父元素。
> 所有元素均可拥有 多个子元素。
> 所有元素均可拥有 文本内容和属性(类似 HTML 中)。
> 父、子以及同胞等术语用于描述元素之间的关系:父元素拥有子元素;相同层级上的子元素成为同胞(兄弟或姐妹)。
> XML 文档中的元素形成了一棵文档树的结构。这棵树从“根部”开始,并扩展到树的“枝叶”。
<root>
<child1>
<subchild1>.....</subchild1>
<subchild2>.....</subchild2>
.....
</child1>
<child2>
<subchild1>.....</subchild1>
<subchild2>.....</subchild2>
.....
</child2>
.....
</root>
如下所示,一个树结构的实例:
|