java xml转换成对象-java对象 转 soap xml
XML 是一种平台无关、语言无关、系统无关的标记语言。 XML 的简单性使得在任何应用程序中读取和写入数据都很容易,这使得 XML 很快成为数据交换的唯一通用语言。 虽然不同的应用软件也支持其他的数据交换格式,但在不久的将来都会支持XML。 这意味着该程序可以更方便地与Windows、Mac OS、Linux等平台下生成的信息相结合,然后可以轻松地将XML数据加载到程序中进行分析,并以XML格式输出结果。
解析XML的方式有四种:
1、DOM分析;
2.SAX分析;
3.XPath;
4.拉;
前两种方法属于基础方法,是官方的平台无关分析方法; jdom和dom4j是java常用的。
1.DOM分析
DOM的全称是Document Object Model,即文档对象模型。 在应用程序中,基于DOM的XML解析器将一个XML文档转化为对象模型的集合(通常称为DOM树),应用程序通过对对象模型的操作实现对XML文档数据的操作。 通过DOM接口,应用程序可以随时访问XML文档中的任何部分数据,所以这种使用DOM接口的机制也称为随机访问机制。
所有现代浏览器都有内置的 XML 解析器来读取和操作 XML
DOM 接口提供了一种通过分层对象模型访问 XML 文档信息的方法java xml转换成对象,该模型形成基于 XML 文档结构的节点树。 无论XML文档中描述的是什么类型的信息,即使是表格数据、项目列表或文档,使用DOM生成的模型都是节点树的形式。 也就是说,DOM 强制使用树模型来访问 XML 文档中的信息。 由于 XML 本质上是一种层次结构,因此这种描述方法非常有效。
DOM树提供的随机访问方式给应用程序的开发带来了极大的灵活性,它可以任意控制整个XML文档中的内容。 但是由于DOM解析器是将整个XML文档转换成DOM树放在内存中,所以当文档比较大或者结构复杂的时候,对内存的要求就比较高。 此外,遍历结构复杂的树也是一项耗时的操作。 所以DOM分析器对机器性能的要求比较高,实现效率不是很理想。 但是,由于DOM分析器采用的树结构思想与XML文档的结构是一致的,并且鉴于随机访问带来的便利性,DOM分析器仍然具有非常广泛的使用价值。
DOM的优点:
1、形成了树状结构,有助于更好的理解和掌握,代码也容易编写。
2.解析过程中,树形结构保存在内存中,方便修改。
DOM的缺点:
1、由于是一次性读取文件,所以内存消耗比较大。
2、如果XML文件比较大,很容易影响解析性能java xml转换成对象,可能会造成内存溢出。
二、SAX分析
SAX的全称是Simple APIs for XML,即XML简单应用程序编程接口。 与DOM不同,SAX提供的访问方式是顺序方式,是一种快速读写XML数据的方式。 当使用SAX分析器对XML文档进行分析时,会触发一系列事件,并激活相应的事件处理函数。 应用程序可以通过这些事件处理函数来访问XML文档,所以SAX接口也被称为事件驱动接口。 .
优势:
1、采用事件驱动方式,内存消耗比较小。
2、只适合处理XML文件中的数据。
缺点:
1.编码比较麻烦。
2、难以同时访问XML文件中的多个不同数据。
3.XPath分析
XPath 是一种用于在 XML 文档中查找信息的语言。 XPath 用于在 XML 文档中的元素和属性之间导航。
XPath 使用路径表达式在 XML 文档中导航
XPath 包含一个标准函数库
XPath 是 XSLT 中的主要元素
XPath 是 W3C 标准
优势:
1、适用于快速检索xml中的指定数据。
2.可以使用xml作为数据库。
缺点:
1、查询语句比较晦涩。
2.全文分析不适用,擅长查询某些数据。
四、PULL分析
PULL解析的运行方式和SAX类似,都是基于事件的方式。 不同的是,在PULL解析过程中,我们需要获取生成的事件,然后进行相应的操作,不像SAX,处理器触发事件来执行我们的代码。 PULL解析器体积小,重量轻,解析速度快,使用方便。
优势:
1、占用内存小,速度极快。
2、功能简单,体积小。
缺点:
1.不适用于结构复杂的大型xml文件。
2.功能比较弱,xml解析工具是嵌入式系统的首选。
传说中的java爆