一、XML简介
1.1 什么是XML?
1)XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML。它被设计的宗旨是传输数据,而非显示数据。
2)XML标签没有被预定义,需要用户自行定义标签。
3)XML技术是W3C组织(World Wide Web Consortium万维网联盟)发布的,目前遵循的是W3C组织于2000年发布的XML1.0规范。
4)XML被广泛认为是继Java之后在Internet上最激动人心的新技术。
1.2 XML技术用于解决什么问题?
1) 在现实生活中存在大量有关系的数据,如下图所示。
2)问题:这样的数据该如何表示并交给计算机处理呢?
①XML语言出现的根本目的在于描述向上图那种有关系的数据。
②XML是一种通用的数据交换格式。
③在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在起始标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。
④XML中的数据必须通过软件程序来解析执行或显示,如IE;这样的解析程序称之为Parser(解析器)。
1.3 XML常见应用
1)XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。(如后面将要学习到的Struts、Spring和Hibernate都是基于XML作为配置文件的)
2)在一个软件系统中,通过XML配置文件可以提高系统的灵活性。即程序的行为是通过XML文件来配置的,而不是硬编码。
3)数据交换:不同语言之间用来交换数据
二、XML语法
2.1 一个XML文件分为如下几部分内容:
文档声明
元素
属性
注释
CDATA区 、特殊字符
处理指令(PI:Processing Instruction)
2.2 文档声明
1)在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行。并且必须指定
2)最简单的语法:<?xml version=“1.0”?>
3)用encoding属性说明文档所使用的字符编码。保存在磁盘上的文件编码要与声明的编码一致。如:<?xml version=“1.0” encoding=“GB2312”?>
4)用standalone属性说明文档是否独立,即是否依赖其他文档。
如:<?xml version=“1.0” standalone=“yes”?>
yes不用引入外部的文件,no需要引入。(不常用)
2.3 XML元素
1)XML元素指XML文件中出现的标签。一个标签分为起始和结束标签(不能省略)。一个标签有如下几种书写形式:
包含标签主体:<mytag>some content</mytag>
不含标签主体:<mytag/>
2)一个标签中可以嵌套若干子标签,但所有标签必须合理的嵌套,不允许有交叉嵌套。
<mytag1><mytag2></mytag1></mytag2> WRONG
3)一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签。
4)对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。
5)一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
①区分大小写,例如,<P>和<p>是两个不同的标记。
②不能以数字或“-” (中划线)开头。
③不能以xml(或XML、或Xml 等)开头。
④不能包含空格。
⑤名称中间不能包含冒号(:)。
2.4 XML属性
1)一个元素可以有多个属性,每个属性都有它自己的名称和取值,例如:<mytag name=“value” …/>
2)属性值一定要用引号(单引号或双引号)引起来。
3)属性名称的命名规范与元素的命名规范相同
4)元素中的属性是不允许重复的
5)在XML技术中,标签属性所代表的信息也可以被改成用子元素的形式来描述,例如:
<mytag>
<name>
<firstName/>
<lastName/>
</name>
</mytag>
2.5 注释
1)XML中的注释语法为:<!--这是注释-->
2)注意:
①XML声明之前不能有注释
②注释不能嵌套,例如:
<!--大段注释
…
<!--有一段注释-->
…
-->
2.6 转义字符
1)对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。
2.7 CDATA区
1)CDATA是Character Data的缩写
2)作用:把标签当做普通文本内容;
3)语法:<![CDATA[内容]]>
<![CDATA[
if(age > 50){
<name> 大于50的人 <name>
}
]]>
原文地址:https://www.cnblogs.com/smilehq/p/12589430.html