XML概述
什么是XML
英文全称为eXtensible Markup Language,翻译过来为可扩展标记语言。XML技术是W3C组织发布的,目前遵循的是W3C组织于2000发布的XML1.0规范。
现实生活中存在着大量的数据,在这些数据之间往往存在一定的关系,我们希望能在计算机中保存和处理这些数据的同时能够保存和处理他们之间的关系。XML就是为了解决这样的需求而产生数据存储格式。
XML如何保存数据
- 在XML语言允许用户自定义标签。每一个标签用于描述一段数据;
- 一个标签可以分为开始标签和结束标签,在开始标签和结束标签之间又可以嵌套其它标签,利用标签间的嵌套关系来保存数据之间的上下级关系;
- 由于xml实质上是一段字符串,计算机可以十分方便的对他进行操作,开发人员也可以方便的阅读,因此可以说这是一种对人、对计算机都友好的数据存储格式,所以XML迅速普及,成为了一种非常常见的数据存储格式,在许多应用场景中得到应用。
XML应用场景
- XML本质上是一段字符串,具有跨平台性的特性,因此XML常被用来在不同系统之间进行数据交换。例如在安卓开发中,服务端与客户端之间的数据传输。
- XML可以在保存数据的同时保存数据之间的关系。利用这一特点,它还经常用作应用程序配置文件来使用。
XML文件的校验
浏览器除了内置HTML解析其外还内置了XML解析器,因此可以使用浏览器对XML进行校验。
XML对格式要求比较严格,如果格式不对,那么在在浏览器中就校验失败,在网页上显示不出来任何数据。在开发人员工具的控制台选项卡中能找到错误说明。
XML语法
文档声明
用来声明xml的基本属性,用来指挥解析引擎如何去解析当前xml
通常一个xml都要包含并且只能包含一个文档声明
xml的文档必须在整个xml的最前面,在文档声明之前不能有任何内容
<?xml version="1.0"?>
version是必须存在的属性,表明当前xml所遵循规范的版本,目前位置都写1.0就可以了。
<?xml version="1.0"encoding="utf-8"?>
encoding用来只会解析引擎在解析xml时使用的编码,一定要保证xml格式的数据在保存时使用的编码和解析时使用的编码必须一致,才不会有乱码问题
`<?xml version="1.0" encoding="utf-8" standalone="yes"/>`
standalone属性用来指明当前xml是否是一个独立的xml,默认值是yes,表明当前文档不需要依赖于其他文档,如果当前文档依赖其他文档而存在则需要将此值设置为no。
元素
- 一个xml标签就是一个元素
- 一个标签分为开始标签和结束标签
- 在开始标签和结束标签之间可以包含文本内容,这样的文本内容叫做标签体
- 如果标签的开始标签和结束标签之间不包含标签体和子标签则可以将开始标签和结束标签进行合并,这样的标签就叫做自闭标签
- 一个标签中也可以包含任意多个子标签,但是一定要注意标签一定要合理嵌套
- 一个格式良好的xml要包含并且只能包含一个根标签,其他的标签都应该是这个标签的子孙标签
书写规则:
属性
一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:
<china capital="beijing"/>
属性的名在定义时要遵循和xml元素相同的命名规则
属性的值需要用双引号或单引号括起来
注释
<!-- 注释内容 -->
- 注释可以出现在xml文档的任意位置除了整个文档的最前面.不能出现在文档声明之前
- 注释不能嵌套注释
CDATA区/转义字符
<![CDATA[转义的内容]]>:
当XML中一段内容不希望被解析器解析时可以使用CDATA区将其包住
当解析器遇到CDATA区时会将其内容当作文本对待,不会进行解析
转义字符:
& --> & < --> < (less than) > --> > (greater than) " --> " ' --> '
处理指令
处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
<?xml-stylesheet type="text/css" href="1.css"?>