处理XML文件的三种方式(Java)

标签: xml 文件 java | 发表时间:2012-08-01 10:24 | 作者:hongchangfirst
出处:http://blog.csdn.net


1 DOM 

    DOM(Document Object Model),文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。有一点很重要,DOM的设计是以对象管理组织(OMG)的规约为基的,因此可以用于任何编程语言。
    DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示,不过页面当然可能并不是以这种树的方式具体实现。
    这种方式有优秀的一个Java开源实现是jsoup。

2 SAX
    一个实现SAX的解析器(也就是“SAX Parser”)以一个串流解析器的型式作用,拥有事件驱动API。由
    使用者定义回调函数,解析时,若发生事件的话会被调用。SAX事件包括:
XML 文字 节点
XML 元素 节点
XML 处理指令
XML 注释
    事件在任一XML特性遇到时引发,以及遇到他们结尾时再次引发。XML属性也作为传给元素事件资料的一部分。SAX 处理时单方向性的;解析过的资料无法在不重新开始的情况下再次读取。

3 JAXB

Java Architecture for XML Binding 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。


 Object <--> XML的工具


    这意味着你不需要处理甚至不需要知道XML编程技巧就能在Java应用程序中利用平台核心XML数据的灵活
性。而且,可以充分利用XML的优势而不用依赖于复杂的XML处理模型如SAX或DOM。JAXB 隐藏了细节并且取消了SAX和DOM中没用的关系——生成的JAXB类仅描述原始模型中定义的关系。其结果是结合了高度可移植Java代码和高度可移植的XML数据。其中这些代码可用来创建灵活、轻便的应用程序和Web服务。

    JAXB只是一个标准,Sun公司提供的此工具包只能说是这个标准的一个实现Schema和XML文档之间的关系,就好像Java中类与实例的关系。




作者:hongchangfirst 发表于2012-8-1 10:24:18 原文链接
阅读:0 评论:0 查看评论

相关 [xml 文件 java] 推荐:

Java写xml文件的编码问题

- - CSDN博客推荐文章
最近项目中需要生成xml格式的配置文件,用的是 javax.xml.transform.Transformer 类中提供的transform方法,在本地执行没问题,但是一旦把工程部署到Tomcat下运行,就会出现中文乱码的现象,纠结了许久,在大神的帮助下终于解决了. 有篇文章其实已经讲的很清楚了,链接如下:.

处理XML文件的三种方式(Java)

- - CSDN博客推荐文章
    DOM(Document Object Model),文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构. 换句话说,这是表示和处理一个HTML或XML文档的常用方法. 有一点很重要,DOM的设计是以对象管理组织(OMG)的规约为基的,因此可以用于任何编程语言.

java解析xml文件(三种方式-(dom ,jdom ,dom4j)

- - ITeye博客
第一种,利用dom方式解析xml 文件,无需jar包. //得到DOM解析器的工厂实例. //从DOM工厂中获得DOM解析器. //声明为File为了识别中文名. //得到文档名称为Student的元素的节点列表. //遍历该集合,显示结合中的元素及其子元素的名字. System.out.println("磁盘信息:");.

用java sax处理xml文件(DBLP数据集)

- - CSDN博客综合推荐文章
在java中,可以用多种方式处理xml文件. 前一段时间因为要使用到dblp数据集,而且这个数据集比较大无法一次性加载到内存中解析成文档树再处理. 所以只能用sax的方式边读边处理. 下面是dblp数据集的简介,在处理xml文件之前,对xml的结构的了解很重要:. DBLP是计算机领域内对研究的成果以作者为核心的一个计算机类英文文献的集成数据库系统,按年代列出了作者的科研成果.

android 或者java SAX解析XML

- - ITeye博客
本实例解析xml使用的是继承DefaultHandler类,此类就是java中封装好的xml解析器类,下面看代码详细说明:. 第一步:首先说明下xml文件,Java Sax解析是按照xml文件的顺序一步一步的来解析,在解析xml文件之前,我们要先了解xml文件的节点的种类,一种是ElementNode,一种是TextNode.

java解析xml数据---sax解析器

- - ITeye博客
下面是handler解析数据的方法. private HashMap map = null;// 存储单个解析的完整对象. private List> list = null;// 存储全部的解析对象. private String currentTag = null; // 正在解析的元素的标签.

java中多种方式解析xml

- - Java - 编程语言 - ITeye博客
DOM的全称是Document Object Model,也即文档对象模型. 在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作. 通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,因此,这种利用DOM接口的机制也被称作随机访问机制.

XML to tree XML 树

- Bloger - 博客园-首页原创精华区
前面发了一个 html to tree 再发一个 xml to tree. 版权所有:版权所有(C) 2009. 文件名称:xml2tree.js. 完成日期:2009-12-22. 页:http://www.chaige.net */ var XML2Tree = function (ini) {.

通过JAXB实现完成java对象和xml的互相转换

- - ITeye博客
在项目中我们常常需要将java对象转为Xml,将xml转为java对象,这些繁琐的操作我们使用JAXB的话就可以很轻松的实现,一起看一个例子吧. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Java中4种XML解析与创建方式的例子与速度测试

- - IT瘾-jianshu
在慕课看java工程师的路径课程,看完了java的对xml文件读取与写入,在这里对这四种操作方式做个记录. 这里对于DOM和SAX各自的优缺点的不进行讨论了,主要将各自的操作步骤,和解析、创建进行列举,并对他们的速度进行检测. 基于以上1和2方式,需要导入jar包. 基于以上1和2方式,需要导入jar包.