1、XML(Xtensible markup language可扩展的标记 语言)是什么

(1) 是一种基于文本的通用的数据保存的格式。

a,通用: 即以XML格式保存的数据,可以被其它任何的程序来处理 。

比如:一个点,在java语言里面,可以用一个类Point表示:

Class Point{

int x;

int y;

...

}

那么,一个Point对象要保存下来,可以使用如下几种方式:

方式一: 序列化 (不通用,因为序列化是java语言特有的)。

方式二:数据库(通用)

方式三:自定义一个协议(比如,将数据保存在一个文件里面(10,20),很显示,不通用。

方式四:使用XML

10

20

b,格式

一对标记加上相应的内容(内容可以是普通的文本,也可以是标记),另外,标记还可以有属性。

c,历史

html: 博纳斯.李 1990年发明的(李也是万维网联盟的创建者,互联网之父)。

hello kitty

html --- >xhtml (使用XML语法来重新定义html的结构)

XML采用了与html相似的语法,但是,XML是可扩展的,即可以自定义任意标记。

2、XML的基本语法

(1)元素

标记以及标记之间的内容统称为元素 ,比如

10

20

(2)每一个xml文档, 只允许有一个根元素

(3) 元素可以为空 ,称之为空元素,比如 ,空元素也可以简化为

(4) 元素可以有属性 ,属性值必须用引号括起来,比如

10

注意:属性必须要放在开始标记里面。

(5) 元素可以嵌套

(6) 大小写敏感

error!

(7) 实体

1+1<2?

一些特殊的字符,比如<,>,&,," 需要使用相应的实体来代替。如果不代替,解析器在解析xml时,有可能会出错。

< <

> >

& &

" "

(8) CDATA段

<![CDATA[ 不希望解析器解析的内容 ]]>

3、XML的解析

(1) 常见的解析方式

a, SAX (Simple API for XML),基于事件处理机制,边读取XML文件,边解析,对内存的要求不高,速度也比较快。其它的一些解析工具( DOM4J )会使用SAX作为底层的解析器。

另外,一些内存容器比较小的场合,比如手机系统,可以使用SAX。

b, DOM (Document Object Model),将整个XML文件读入到内存,生成一棵树,然后对棵进行操作。用得少。

c, DOM4J /JDOM

(2) Object --- >XML

step1,先设计好xml文档的结构

VIP

范伟

CA1748

8:00 am

上海

也可以

范伟

CA1748

8:00 am

上海

step2, 在内存当中创建一个Document 对象(一棵树,根是order)。

step3, 输出

4、XML的设计(DTD Document type definition文档类型定义)

(1)DTD是什么?

定义了 xml文档的结构( 定义了一个xml文档里面根元素是什么,可以出现哪些子元素,哪些属性等等)。

(2)DTD文档的基本结构

...

]>

(3)DTD作用

a, 定义xml文档的结构 :有了DTD,就必须按照DTD的要求来写xml文档。

b, 对xml文档的正确性进行验证,如果xml文档没有按照DTD的要求进行编写,则解析器解析时会提示错误 。

一个xml文档符合xml的基本语法,称这个xml文档是正确的,如果这个xml文档还符合DTD文档的要求,则认为这个xml文档是有效的。

5、XPATH

(1)XPATH是什么?

可以将xml看成是数据库,那么XPATH就是sql语句 。

(2)使用XPATH

DOM4j已经实现了XPATH规范。可以使用Document.selectNodes(XPATH语句);

比如:

selectNodes("/orders/order/time");

又比如:

selectNodes("/orders/order[1]/time");

[]里面可以用数字(从1开始)来指定是第几个元素。

又比如:

selectNodes("/orders/order[@type=vvip]/time");

@type=vvip 指定该元素的属性值必须是vvip
分类: 教程分享 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录