xml

 XML个称为Extensible Markup Language,意思是可扩展的标记语言。XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。

文档声明

1.文档声明必须为<?xml开头,以?>结束;

2.文档声明必须从文档的0行0列位置开始:

3.文档声明只有属性:

a) versioin:指定XML文档版本。必须属性,因为我们不会选择1.1,只会选择1.0;

b) encoding:指定当前文档的编码。可选属性,默认值是。utf-8:

元素

1.元素是XML文档中最重要的组成部分,

2.普通元素的结构开始标签、元素体、结束标签组成。例如:<hello>大家好</hello>

3.元素体:元素体可以是元素,也可以是文本,例如:<b><a>你好</a ></b>

4.空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭介,例如:<c/>

5.元素命名:

a) 区分大小写

b) 不能使用空格,不能使用冒号:

c) 不建议以XML,  xml,  Xml开头

6.格式化良好的XML文档,必须只有一个根元素。

属性

1.属性是元素的一部分,它必须出现在元素的开始标签中

2.属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引

3.一个元素可以有O ~ N个属性,但一个元素中不能出现同名属性

4.属性名不能使用空格、冒号等特殊字符,且必须以字母开头

注释和转义字符都与html相同

DTD

 DTD (Document Type Definition ),文档类型定义,用来约束XML文档。规定XML文档中元素的名称,子元素的名称及顺序,元素的属性等。

见到有

<!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">

则为DTD约束

符号

1.?             对象最多出现一次

2.*                对象可以出现任意次

3.+               对象最少出现一次

4.|                出现|两边的对象任意一个

5.,              对象按照指定的顺序出现

6.()          对象分组

Schema

1.Schema是新的XML文档约束:

2.Schema要比DTD强大很多,是DTD替代者;

3.Schema本身也是XML文档,但Schema文档的扩展名为xsd,而不是xml .

4.Schema功能更强大,数据类型更完善

5.Schema支持名称空间

约束写在web-app标签内

解析方式

1.DOM解析

要求解析器把整个XML文档装载到内存,并解析成一个Document对象。

优点:元素与元素之间保留结构关系,故可以进行增删改查操作;缺点:XML文档过大,可能出现内存溢出显现。

2.SAX解析

是一种速度更快,更有效的方法。它逐行扫描文档,一边扫描一边解析。并以事件 驱动的方式进行具体解析,每执行一行,都将触发对应的事件。

优点:处理速度快,可以处理大文件;缺点:只能读,逐行后将释放资源。

3.PULL解析

Android内置的XML解析方式,类似SAX。

解析器:就是根据不同的解析方式提供的具体实现。有的解析器操作过于繁琐,为了方便开发人员,有提供易于操作的解析开发包。

常见的解析开发包:

1.JAXP: sun公司提供支持DOM和SAX开发包

2.JDom:dom4j兄弟

3.jsoup:一种处理HTML特定解析开发包

4.dom4j:比较常用的解析开发包,hibernate底层采用。

API操作步骤

1.获取解析器

2.获得document文档对象

3.获取根元素

4.获取根元素下的子元素

5.遍历子元素

6.判断元素名称为servlet的元素

7.获取servlet-name元素

8.获取servlet-class元素

posted @ 2020-11-13 16:41  ldldl  阅读(124)  评论(0)    收藏  举报