dom4j解析xml

DOM4J递归实现XML解析

佐手、 提交于 2019-12-14 18:44:31
什么是DOM4J DOM4J (Document Object Model for Java)是用来读写XML文件的一个开源的JavaXML API。 采用Java集合框架,并完全支持DOM、SAX和JAXP。 为什么使用DOM4J DOM4J凭着优秀的性能、强大的功能和易用性。越来越多的Java软件都在使用dom4j来读写XML,连Sun的JAXM也在用dom4j。 怎么用DOM4J DOM4J为第三方软件,第一步引入DOM4J的jar包,或者引入DOM4J的maven依赖。下为DOM4J依赖 < dependency > < groupId > dom4j </ groupId > < artifactId > dom4j </ artifactId > < version > 1.6.1 </ version > </ dependency > 待解析的XML文件 <?xml version="1.0" encoding="UTF-8"?> < students > < student id = " 001 " type = " A " > < studentName > 张三 </ studentName > < course > < courseName > 数学 </ courseName > < courseName > 英语 </ courseName > </

Dom4j解析xml

China☆狼群 提交于 2019-12-04 11:03:52
转自: https://www.cnblogs.com/xq1314/p/7891778.html 1 dom4j介绍   dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这是必须使用的jar包, Hibernate用它来读写配置文件。   dom4j主要接口都在org.dom4j这个包里定义:      Attribute Attribute定义了XML的属性   Branch Branch为能够包含子节点的节点如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为,   CDATA CDATA 定义了XML CDATA 区域   CharacterData CharacterData是一个标识借口,标识基于字符的节点。如CDATA,Comment, Text.  

Dom4j解析XML

匿名 (未验证) 提交于 2019-12-02 23:49:02
1.Dom4j简介:           创建xml文件: <?xml version="1.0" encoding="UTF-8"?> <phoneInfo> <brand name="小米"> <type name="小米8"/> <type name="小米9"/> <type name="小米MIX"/> </brand> <brand name="iPhone"> <type name="iPhone9"/> <type name="iPhoneX"/> <type name="iPhoneXS"/> </brand> <brand name="华为"> <type name="P20"/> <type name="P30"/> <type name="P30 pro"/> </brand> </phoneInfo> info.xml  xml解析――查询 1 package cn.kgc.dom4jtest; 2 3 import org.dom4j.Document; 4 import org.dom4j.Element; 5 import org.dom4j.io.SAXReader; 6 7 import java.util.Iterator; 8 9 /** 10 * xml 解析 11 */ 12 public class Test { 13 public

DOM4J -(XML解析包)

℡╲_俬逩灬. 提交于 2019-12-01 12:13:58
DOM4J - 简介 是dom4j.org出品的一个开源XML解析包。Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。 DOM4J 使用起来非常简单。只要你了解基本的 XML-DOM 模型,就能使用。 Dom:把整个文档作为一个对象。 [ DOM4J - jar包下载 | JAXEN(对XPath的支持)] DOM4J 接口定义 它的主要接口都在org.dom4j里面定义 Attribute 定义了XML属性 Branch 只能够包含子节点的节点。如XML元素(Element)和文档(Document)定义了一个公共的行为 CDATA 定义了XML CDATA区域 CharacterData 是一个标识接口,标识基于字符的节点。如CDATA,Comment,Text Comment 定义了XML注释的行为 Document 定义了XML文档 DocumentType 定义XML DOCTYPE声明 Element 定义XML元素 ElementHandler 定义了Element对象的处理器 ElementPath 被ElementHandler使用,用于取得当前正在处理的路径层次信息 Entity 定义了XML entity Node 为dom4j中所有的XML节点定义了多态行为

dom4j解析xml报文

我的梦境 提交于 2019-12-01 04:51:24
package com.answern.claimv2.service.utils; import com.alibaba.dubbo.common.utils.IOUtils; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import java.io.File; import java.util.HashMap; import java.util.List; import java.util.Map; public class XmlUtil { public Map<String,Object> map = new HashMap<>(); public Map parse(String soap) throws DocumentException { Document doc = DocumentHelper.parseText(soap);//报文转成doc对象 Element root = doc.getRootElement();//获取根元素,准备递归解析这个XML树 getCode(root); return map; } public void getCode

java解析xml的四种方法汇总

主宰稳场 提交于 2019-11-28 09:21:19
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都 自带 了,在xml-apis.jar包里 SAX: http://sourceforge.net/projects/sax/ JDOM: http://jdom.org/downloads/index.html DOM4J: http://sourceforge.net/projects/dom4j/ 一、介绍及优缺点分析 1. DOM (Document Object Model) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。 【优点】 ①允许应用程序对数据和结构做出更改。 ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。 【缺点】 ①通常需要加载整个XML文档来构造层次结构,消耗资源大。 2. SAX(Simple API for XML) SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且

xml java应用(DOM、SAX、JDOM、DOM4j)简介比较

北城余情 提交于 2019-11-27 06:18:30
dom是解析xml的底层接口之一(另一种是sax) 而jdom和dom4j则是基于底层api的更高级封装 dom是通用的,而jdom和dom4j则是面向java语言的 DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像 SAX 那样是一次性的处理。DOM 使用起来也要简单得多。 XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较 (转自zsq) 1、DOM DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而 DOM 被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。 首先,由于树在内存中是持久的

四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

喜你入骨 提交于 2019-11-27 06:18:02
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都 自带 了,在xml-apis.jar包里 SAX: http://sourceforge.net/projects/sax/ JDOM: http://jdom.org/downloads/index.html DOM4J: http://sourceforge.net/projects/dom4j/ 一、介绍及优缺点分析 1. DOM (Document Object Model) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。 【优点】 ①允许应用程序对数据和结构做出更改。 ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。 【缺点】 ①通常需要加载整个XML文档来构造层次结构,消耗资源大。 2. SAX(Simple API for XML) SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且

使用DOM4J 对xml解析操作

假装没事ソ 提交于 2019-11-27 03:35:26
参考自:https://blog.csdn.net/redarmy_chen/article/details/12969219 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它. 对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例如Hibernate,包括sun公司自己的JAXM也用了Dom4j。 使用Dom4j开发,需下载dom4j相应的jar文件 一、DOM4j中,获得Document对象的方式有三种: //1.获取document对象(3种方式) //1.1.读取XML文件,获得document对象 SAXReader reader = new SAXReader(); Document document = reader.read("./src/pol.xml"); //1.2解析XML形式的文本,得到document对象 //String text = "<csdn></csdn>"; //Document document =

Dom4j 解析 XML

十年热恋 提交于 2019-11-26 17:54:53
前言 最近再看mybatis框架中,我们知道底层中,好多xml都是通过dom4j来解析。为了回顾以前的知识点,重新来认识了一下dom4j。 二话不说直接来上代码 首先先建立一个配置文件,让dom4j来进行解析我们就随便建立了一个。 user.xml <hibernate-mapping> <class name="com.test.user" table="userTabel"> <property name="userName" value="李三"></property> <property name="password" value="密码"></property> </class> </hibernate-mapping> 然后是我们的读取类 XmlParse package com.test.xml; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import java.io.File; import java