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 被设计为具有自我描述性。
> XML 是 W3C 的推荐标准。
2、XML的一个例子
先来看一个简单的例子。
// George John Reminder Don't forget the meeting! //
代码分析:
(1)第一行是 XML 声明。它定义 XML 的版本(1.0)和所使用的编码(UTF-8字符集)。
(2)下一行描述文档的根元素(像在说:“本文档是一个便签”): 。
(3)接下来 4 行描述根元素的 4 个子元素(to,from,heading,body)。
(4)最后一行定义根元素的结尾: 。
以上是一个简单的XML文档。可以发现XML的语法很简单,标签没有被预定义,都是自己定义的标签。并且元素可以有子元素,这就形成了一个树形结构。
3、XML树结构
> XML 文档必须包含根元素,该元素是所有其他元素的父元素。
> 所有元素均可拥有 多个子元素。
> 所有元素均可拥有 文本内容和属性(类似 HTML 中)。
> 父、子以及同胞等术语用于描述元素之间的关系:父元素拥有子元素;相同层级上的子元素成为同胞(兄弟或姐妹)。
> XML 文档中的元素形成了一棵文档树的结构。这棵树从“根部”开始,并扩展到树的“枝叶”。
// ..... ..... ..... ..... ..... ..... ..... //
如下所示,一个树结构的实例:
它表示了XML中的一本书:
> 根元素是 。文档中的所有 元素都被包含在 中 。
> 并且 元素也有 4 个子元素:、< author>、、 。
> category、lang均为元素的属性。
> 的4个子元素。
// Everyday Italian Giada De Laurentiis 2005 30.00 Harry Potter J K. Rowling 2005 29.99 Learning XML Erik T. Ray 2003 39.95 //
4、语法规则
(1)XML 文档必须有根元素。
(2)XML 文档必须有结束标签。(
This is a paragraph.
)(3)XML 标签对大小写敏感。(标签 与 是不同的)
(4)XML 元素必须被正确的嵌套。
// This text is bold and italic This text is bold and italic //
(5)XML 属性值必须加引号。(单引号' '、双引号" " ,均可以)
// //
4.1、注释
在 XML 中编写注释的语法与 HTML 的语法很相似:
// //
4.2、保留空格
HTML会把多个连续的空格字符裁减(合并)为一个。
而在XML中,空格不会被删节。
// content :Hello my name is David. HTML :Hello my name is David. XML :Hello my name is David. //
4.3、实体引用
在 XML 中,一些字符拥有特殊的意义。
如果你把字符 "
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?