理解反射和解析XML.ppt

上传人:rrsccc 文档编号:8815285 上传时间:2021-01-17 格式:PPT 页数:11 大小:207.98KB
返回 下载 相关 举报
理解反射和解析XML.ppt_第1页
第1页 / 共11页
理解反射和解析XML.ppt_第2页
第2页 / 共11页
理解反射和解析XML.ppt_第3页
第3页 / 共11页
理解反射和解析XML.ppt_第4页
第4页 / 共11页
理解反射和解析XML.ppt_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《理解反射和解析XML.ppt》由会员分享,可在线阅读,更多相关《理解反射和解析XML.ppt(11页珍藏版)》请在三一文库上搜索。

1、反射,Java1.2的新特性。 反射的基石 Class类。 反射就是把java中的各个成分,映射成相应的java类。允许程序在执行期取得任何已知名称的class的内信息。在运行过程中对自身的检查,并能操作程序内部的属性和方法。 Java反射所需要的类: (一)Class (二)Constructor(构造方法) (三)Method(方法) (四)Field(成员变量) (五)Object (),Java反射,Class类: Class 类是在Java语言中定义一个特定类的实现。一个类的定义包含成员变量,成员方法,还有这个类实现的接口,以及这个类的父类。Class类的对象用于表示当前运行的 Ja

2、va 应用程序中的类和接口。 Field类: Field类:提供有关类或接口的属性的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)属性或实例属性,简单的理解可以把它看成一个封装反射类的属性的类。,Java反射,Constructor类: Constructor类:提供关于类的单个构造方法的信息以及对它的访问权限。这个类和Field类不同,Field类封装了反射类的属性,而 Constructor类则封装了反射类的构造方法。 Field类: Field类:提供有关类或接口的属性的信息,以及对它的动态访问权限。反射的字段可能是一个类(静态)属性或实例属性,简单的理解可以把它看成一个封

3、装反射类的属性的类。,Java反射,Method类: Method类:提供关于类或接口上单独某个方法的信息。所反映的方法可能是类方法或实例方法(包括抽象方法)。 这个类不难理解,它是用来封装反射类方法的一个类。 Object类: Object类:每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法,XML解析,XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。其中最基础的两种SAX和DOM。是java的标准,使用java API直接可以解析,是比较底层的实现。 SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。 常用解析方式: 1.DOM解析

4、 2.SAX解析 3. JDOM解析 4.DOM4j解析,XML解析,1.DOM生成和解析XML文档为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,通过解析XML文档,为XML文档在逻辑上建立一个树模型,树的节点是一个个对象。我们通过存取这些对象就能够存取XML文档的内容。 优点:整个文档树在内存中,便于操作; 支持删除、修改、重新排列等多种功能; 缺点:将整个文档调入内存,浪费时间和空间; 使用场合:一旦解析了文档还需多次访问这些数据; 硬件资源充足(内存、CPU)。,DOM解析XML,(1)创建解析器工厂DocumentBuilderFactory (2)创建具体的解析器D

5、ocumentBuilder (3)创建Document 对象 Document 对象就是XML文件的树模型。 DOM的基本对象有5个:Document,Node,NodeList,Element 和Attr。 Document对象代表了整个XML的文档,所有其它的Node。 Node对象是DOM结构中最为基本的对象,代表了文档树中的一个抽象的节点。 NodeList对象,所代表的是一个Node对象的列表: Element对象代表的是XML文档中的标签元素,继承于Node亦是Node的最主要的子对象。 Attr对象代表了某个标签中的属性。,XML解析,2.SAX生成和解析XML文档为解决DOM

6、的问题,出现了SAX。SAX ,事件驱动。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。 优点:不用事先调入整个文档,占用资源少;SAX解析器代码比DOM解析器代码小,适于Applet,下载。 缺点:不是持久的;事件过后,若没保存数据,那么数据就丢了; 无状态性;从事件中只能得到文本,但不知该文本属于哪个元素; 使用场合:Applet;只需XML文档的少量内容,很少回头访问;机器内存少。,XML解析,3.JDOM生成和解析XML 为减少DOM、SAX的编码量,出现了JDOM; 优点:20-80原则,极大减少了代码量。 使用场合:要

7、实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX、DOM、Xanan文档。 JDOM 自身不包含解析器。它通常使用 SAX2 解析器来解析和验证输入 XML 文档。它包含一些转换器以将 JDOM 表示输出成 SAX2 事件流、DOM 模型或 XML 文本文档。 JDOM和DOM的不同,JDOM仅使用具体的类,而不是使用接口。在很大一方面限制了灵活性。,XML解析,4.DOM4J生成和解析XML文档 DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP。 DOM4J 最大的特色是使用大量的接口。它的主要接口都在org.dom4j里面定义: DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J,四种解析XML方式比较,DOM4J的性能最高。 SAX表现稍次,这要依赖于它特定的解析方式。一个 SAX 检测即将到来的XML流,但并没有载入到内存。 JDOM和DOM的性能较次。如果文件不是太大可以考虑使用。否则容易遭成内存溢出。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1