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元素

浙公网安备 33010602011771号