• 欢迎来到本博客,希望可以y一起学习与分享

XML解析方式与解析器

Java benz 4年前 (2018-02-08) 126次浏览 0个评论 扫描二维码
文章目录[隐藏]

一、XML的解析方式

开发中比较常见的解析方式有三种,如下:
1. DOM: 要求解析器把整个XML文档转载到内存,并解析成一个Document对象。
a) 优点:元素与元素之间保留结构关系,故可以进行增删改查操作。
b ) 缺点:XML文档过大,可能出现内存溢出现象。
2. SAX:是一种速度更快,更有效的方法。它逐行扫描文档,一边扫描一边解析。并以事件驱动的方式进行具体解析,每执行一行,都将触发对应的事件。(了解)
a) 优点:处理速度快,可以处理大文件
b) 缺点:只能读,逐行后将释放资源。
3. PULL: Android内置的XML解析方式,类似SAX。(了解)

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

常见的解析开发包:

  1. JAXP: sun公司提供支持DOM和SAX开发包
  2. JDom:dom4j兄弟
  3. jsoup:一种处理HTML特定解析开发包
  4. dom4j:比较常用的解析开发包,hibernate底层采用。

二、使用dom4j解析XML

如果需要使用dom4j,必须导入jar包。
dom4j必须使用核心类SaxReader加载XML文档获得Document,通过Document对象获得文档的根元素,然后就可以操作了。
常用API如下:
1. SaxReader对象
a) read(…) 加载执行xml文档
2. Document对象
a) getRootElement() 获得根元素
3. Element对象。
a) elements(…) 获得指定名称的所有子元素。可以不指定名称
b) element(…) 获得指定名称的第一个子元素。可以不指定名称
c) getName() 获得当前元素的元素名
d) attributeValue(…) 获得指定属性名的属性值
e) elementText(…) 获得指定名称的子元素的文本值
f) getText() 获得当前元素的文本内容

scheme约束文件 与 XML文件

scheme约束文件:web-app_2_5.xsd

XML文件:web.xml

DTD约束文件 与 XML文件

DTD约束文件: web-app_2_3.dtd

XML文件:web.xml

dom4j使用示例


文章 XML解析方式与解析器 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!