一、定义
XML,Extensible Markup Language,扩展性标识语言,文件的后缀名为:.xml
二、作用(传输和存储数据)
1. 可以用来保存数据
2. 可以用来做配置文件
3. 数据传输载体
三、使用
1.文档声明
<!-- 简单声明, version : 解析这个xml的时候,使用什么版本的解析器解析-->
<?xml version="1.0" ?>
<!-- encoding : 解析xml中的文字的时候,使用什么编码来翻译-->
<?xml version="1.0" encoding="gbk" ?>
<!-- standalone : no-该文档会依赖关联其他文档 , yes-这是一个独立的文档-->
<?xml version="1.0" encoding="gbk" standalone="no" ?>
2.encoding编码格式
在解析这个xml的时候,使用什么编码去解析。为什么会出现乱码呢,因为我们在保存文字的时候, 是存储这些文字对应的二进制 。那么这些文字对应的二进制到底是多少呢? 根据文件使用的编码来得到。
可能我们在保存xml文件的时候选择了utf-8编码格式,那么就需要将xml文件中的encoding指定为utf-8,如果指定了其他编码方式去解析,可能就会出现中文乱码。
注意:保存的时候见到的ANSI,对应的其实是我们的本地编码GBK。为了通用,建议使用UTF-8编码保存,以及encoding 都是 utf-8。
3.转义字符
在 XML 元素中,"<" 和 "&" 是非法的。如果在 XML 文档中放置了一个类似 "<" 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。
注释:严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号'、引号"和大于号>是合法的,但是把它们替换为实体引用是个好的习惯。
特殊字符 | 转义字符 |
---|---|
< | < |
> | > |
“ | " |
' | ' |
& | & |
4.CDATA区
CDATA 指的是不应由 XML 解析器进行解析的文本数据。
某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。CDATA 部分中的所有内容都会被解析器忽略。
不过这个CDATA 一般比较少看到,通常在服务器给客户端返回数据的时候。
<!--XML解析器不会解析CDATA中的内容-->
<![CDATA[任意内容]]>