可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
什么是可扩展标记语言?
可扩展标记语言是一种很像超文本标记语言的标记语言。
它的设计宗旨是传输数据,而不是显示数据。
它的标签没有被预定义。您需要自行定义标签。
它被设计为具有自我描述性。
它是W3C的推荐标准。
文档声明
最简单的声明语法:
<?xml version="1.0" ?>
用encoding属性说明文档的字符编码
<?xml version="1.0" encoding="GB2312"?>
用standalone属性说明文档是否独立
<?xml version="1.0" encoding="GB2312" standal one="no" ?>
XML元素
元素指XML中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式:
包含标签体 : <a>www.dasfs.com</a>
不包含标签体:<a></a> 简写为<a/>
属性
一个标签有多个属性,每个属性都有自己的名字和取值,例如
<input name="text">
属性值用双引号或者单引号引起来
注释
XML文件中注释采用: < !–注释– >格式
CDATA区
在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当做原始内容进行处理。遇到这种情况,可以把这部分内容放在CDATA区里,对于CDATA区域的内容,XML解析程序不会处理,而是直接原封不动的输出。语法:
<![CDATA[
<it>
<br/>
</it>
]]>
转义字符
XML约束
在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。常用的约束技术:
(1)XML DTD(一般框架的作者会使用)
(2)XML Schema
<!ElEMENT 书架(书+)>
<!ELEMENT 书(书名,作者,售价)>
<!ELEMENT 书名(#PCDATA)>
<!ELEMENT 作者(#PCDATD)>
<!ELEMENT 售价 (#PCDATA)>
XML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE 书架 SYSTEM "book.dtd">
<书架>
<书>
<书名>Java</书名>
<作者>张</作者>
<售价>39.00</售价>
</书>
<书>
<书名>JavaSprit</书名>
<作者>张</作者>
<售价>34.00</售价>
</书>
</书架>
XML解析方式分为两种:dom和sax
dom:(Document Object Model,即文档对象模型)
sax(Simple API for XML)
XML解析开发包:Jaxp(sun),Jdom,dom4j
dom解析:
把文档中的每一个结点都变成一个对象,根据对象之间的一个关系,在内存中架构出一个类似对象树,缺点是对内存的消耗比较大(要求文档不可以太大),优点是对文档增减改查比较方便
sax解析:由上到下读取,每读取一行便处理一行,因此仅适合数据读取,占用内存少,解析速度快,不适合进行增删改查