XML语言
1、XML是什么?
XML是指可扩展标记语言XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML。它被设计的宗旨是传输数据,而非显示数据。XML标签没有被预定义,需要用户自行定义标签。XML技术是W3C组织(World Wide Web Consortium万维网联盟)发布的,目前遵循的是W3C组织于2000年发布的XML1.0规范。XML被广泛认为是继Java之后在Internet上最激动人心的新技术。2、XML用于解决什么问题
XML语言出现的根本目的在于描述向上图那种有关系的数据。XML是一种通用的数据交换格式。在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在起始标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。XML中的数据必须通过软件程序来解析执行或显示,如IE;这样的解析程序称之为Parser(解析器)。<?xml version="1.0" encoding="UTF-8"?><中国> <北京> <海淀></海淀> <丰台></丰台> </北京> <山东> <济南></济南> <青岛></青岛> </山东> <湖北> <武汉></武汉> <荆州></荆州> </湖北></中国>3、常见应用
用于描述qq直接传输数据,使用xm格式进行描述,具有可读性和可维护性XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。(如后面将要学习到的Struts、Spring和Hibernate都是基于XML作为配置文件的)在一个软件系统中,通过XML配置文件可以提高系统的灵活性。即程序的行为是通过XML文件来配置的,而不是硬编码。4、XML语法
一个XML文件分为如下几部分内容:文档声明 元素属性注释 CDATA区 、特殊字符 处理指令(PI:Processing Instruction)5、文档声明
在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行。最简单的语法:<?xml version=“1.0”?>用encoding属性说明文档所使用的字符编码。保存在磁盘上的文件编码要与声明的编码一致。 如:<?xml version=“1.0” encoding=“GB2312”?>用standalone属性说明文档是否独立,即是否依赖其他文档。 如:<?xml version=“1.0” standalone=“yes”?>6、元素
(1)包含标签主体:<mytag>some content</mytag>不含标签主体:<mytag/>(2)一个标签中可以嵌套若干子标签,但所有标签必须合理的嵌套,不允许有交叉嵌套。
<mytag1><mytag2></mytag1></mytag2> WRONG(3)一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签
由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变7、命名规范
区分大小写,例如,<P>和<p>是两个不同的标记。 不能以数字或"_" (下划线)开头。 不能以xml(或XML、或Xml 等)开头。 不能包含空格。 名称中间不能包含冒号(:)8、属性
<mytag name=“value” …/>属性值一定要用引号(单引号或双引号)引起来9、注释
XML中的注释语法为:<!--这是注释-->XML声明之前不能有注释注释不能嵌套10、转义字符
对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。&:& <:< >:> ":" ':&apos11、CDATA区
CDATA是Character Data的缩写作用:把标签当做普通文本内容;语法:<![CDATA[内容]]>
<![CDATA[ <itcast>www.itcast.cn</itcast>]]>以上红色部分被当做普通文本而不是标签12、处理指令
处理指令,简称PI(Processing Instruction)。作用:用来指挥软件如何解析XML文档。语法:必须以“<?”作为开头,以“?>”作为结尾。常用处理指令:XML声明:<?xml version=“1.0” encoding=“GB2312”?>xml-stylesheet指令:作用:指示XML文档所使用的CSS样式XSL。<?xml-stylesheet type="text/css" href="some.css"?>注:对中文命名的标签元素不起作用13、XML语法规则总结
所有 XML 元素都须有关闭标签XML 标签对大小写敏感XML 必须正确地嵌套顺序XML 文档必须有根元素(只有一个)XML 的属性值须加引号特殊字符必须转义 --- CDATAXML 中的空格、回车换行会解析时被保留