一、什么是XML
1、XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML。它被设计的宗旨是传输数据,而非显示数据。XML技术由W3C组织(World Wide Web Consortium万维网联盟)发布。
2、XML中的数据必须通过软件程序来解析执行或显示,如IE;这样的解析程序称之为Parser(解析器)。
二、XML的应用
- 在不同系统之间传输数据。
- 用来存储有层级结构关系的数据。
- 用作软件配置文件,以描述程序模块之间的关系。(如Spring就是基于XML作为配置文件的)。
补充:在一个软件系统中,通过XML配置文件可以提高系统的灵活性。即程序的行为是通过XML文件来配置的,而不是硬编码。
三、XML的语法
(一)XML的文档说明
- 文档说明必须添加在文档的第一行第一列。
<?xml version="1.0" encoding="UTF-8" standalone="no”?>
(二) XML中定义元素(即:标签)
- 有开始标签必须要有结束标签。如果没有内容,可以在标签内结束
- 标签可以嵌套,但是必须合理嵌套
- 一个XML文件中,只能由一个根标签
- 在XML文件中,空格和换行都被当成内容来解析
- XML代码区分大小写
- XML标签不能以XML、xml、Xml等开头,不能包含空格和冒号
(三)XML中定义属性
- 一个标签可以由多个属性,但是属性名称不能相同
- 属性名称与属性值之间使用=,属性值使用引号括起来(可以是单引号,也可以是双引号)
- 属性的命名规范和标签的命名规范一致
(四)XML中的特殊字符
-
< > & "" '' 这些字符都是特殊字符,如果需要显示需要进行转义
-
对应如下
< ---> < > ---> > & ---> & " --> " ' ---> &apos
-
CTADA区
CDATA是Character Data的缩写
作用:把标签当做普通文本内容;
语法:<![CDATA[ <blog>http://ZuoBiao-x.github.io</blog> ]]> 此处的<blog>http://ZuoBiao-x.github.io</blog>会被当做文本内容输出
-
PI指令
处理指令,简称PI(Processing Instruction)。
作用:用来指挥软件如何解析XML文档。
语法:必须以“”作为开头,以“?>”作为结尾。
常用处理指令:
XML声明:
xml-stylesheet指令:
四、XML的约束
- 原因:由于xml的标签由用户自己定义,因此在开发的时候,每个人都可以根据自己的需求来定义xml标签,这样导致项目中的xml难以维护,因此需要使用一定的规范机制来约束xml文件中的标签书写。
- 种类:XML的约束有两种DTD和Schema(在之后的文章中介绍具体的使用方法)。
五、XML的解析
-
XML的解析技术有两种:dom和sax
-
针对这两种解析技术,官方以及其他组织提供的不同的实现方式
-
常见的解析方式有如下三种:(在之后的文章中介绍具体的使用方法)
a. sun公司提供的jaxp
b. dom4j组织提供的dom4j
c. jdom组织提供的jdom