7. DOM4J 解析XML

DOM4J:

简介:

Dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极易使用的特点。现在很多软件采用的Dom4j,例如Hibernate,包括sun公司自己的JAXM也用了Dom4j。

获取Document对象:

SAXReader reader = new SAXReader();

Document doc = reader.read("book.xml");

元素节点:

根节点:Element root = doc.getRootElement();

子节点:Element user = node.element("节点名");

同名子节点集合:List nodes = node.elements("节点名");

遍历节点集合:相当于遍历 List 集合

for(Iterator it = root.elementIterator();it.hasNext()){

Element ele  = (Element)it.next();

}

通过ID属性拿到元素:Element element = root.elementByID("class_1");

注意:在DOM解析时,用ID属性取元素,必须要保证DTD约束时此ID属性

为ID类型。任意取属性名,保证ID类型即可。

但是在DOM4j中,通过ID属性获取元素,不用保证必须是ID类型,

但是必须保证属性名是大写ID。

在某节点下添加子节点 :

Element newEle = node.addElement("节点名");

设置节点文本 :

element.setText("文本内容");

删除某节点 :

parentEle.remove(childEle);

添加一个CDATA节点 :

Element contentEle = node.addElement("content");

contextEle.addCDATA();

文本节点:

获取节点的文本 :String text =  node.getText();

设置节点文本内容 :element.setText("文本内容");

属性节点:

取得某节点下的一个属性节点 :

Attribute attr = node.attribute("属性名");

取得属性的值 :

String value = attr.getText();

遍历某节点下的所有属性 :

for(Iterator it = node.attributeIterator();it.hasNext();){

Attribute attr  = (Attribute)it.next();

String value = attr.getText();

}

添加属性节点 :

node.addAttribute("name","value");

设置属性的值 :

Attribute attr = node.attribute("属性名");

attr.setText("属性值");

删除某属性节点 :

Attribute attr = node.attribut("属性名");

node.remove(attr);

更新XML:

文档中全为英文,不设置编码,直接写入 :

XMLWriter writer = new XMLWriter(new  FileWriter("*.xml"));writer.write(document);writer.close();

文档中包含中文,先设置编码格式 :

OutputFormat format = OutputFormat.createPrettyPrint();

format.setEncoding("UTF-8");

XMLWriter writer = new XMLWriter(newFileWriter("*.xml"),format);

writer.write(document);

writer.close();

时间: 2024-10-05 21:44:21

7. DOM4J 解析XML的相关文章

【收藏用】--切勿转载JAVA 使用Dom4j 解析XML

原帖地址 : http://blog.csdn.NET/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1)下载dom4j-1.6.1.jar (2)下载junit-4.10.jar 2.温馨提示 解析XML过程是通过获取Document对象,然后继续获取各个节点以及属性等操作,因此获取Document对象是第一步,大体说来,有三种方式: (1)自己创建Document对象   Document docu

转:在java中使用dom4j解析xml

在java中使用dom4j解析xml 虽然Java中已经有了Dom和Sax这两种标准解析方式 但其操作起来并不轻松,对于我这么一个初学者来说,其中部分代码是活生生的恶心 为此,伟大的第三方开发组开发出了Jdom和Dom4j等工具 鉴于目前的趋势,我们这里来讲讲Dom4j的基本用法,不涉及递归等复杂操作 Dom4j的用法很多,官网上的示例有那么点儿晦涩,这里就不写了 首先我们需要出创建一个xml文档,然后才能对其解析 xml文档: <?xml version="1.0" encod

使用DOM4J解析XMl文件与读取XML文件

XML文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 <bookstore> 3 <book id="1"> 4 <name>冰与火之歌</name> 5 <author>乔治马丁</author> 6 <year>2014</year> 7 <price>89</price&g

java使用dom4j解析xml

目标:将指定XML进行解析,以键=值的方式返回指定节点下的数据 所需要的jar包:dom4j1.6.1.jar.jaxen-1.1.jar <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://s

java dom4j解析xml实例(2)

java利用dom4j解析xml 需要的jar包: dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要加入包jaxen-1.1-beta-7.jar(如果不导入这个架包程序可以执行出结果,但最后会报异常) 将相关jar包引入后,实际解析操作如下:  1.要解析的xml文件province.xml: <china dn="d

使用dom4j解析XML文档

dom4j的包开源包,不属于JDK里面,在myeclipse中要单独导入在项目中,这里不累赘了 做这个过程,很慢,因为很多方法没用过不熟悉,自己得去查帮助文档,而且还得去试,因为没有中文版,英文翻译不准确,也会导致多个同名的方法理解和用法不同 XML: <?xml version="1.0" encoding="utf-8"?> <students> <student age="25"> <name>

【java项目实战】dom4j解析xml文件,连接Oracle数据库

简介 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方,我们还是看一下官方给出的解释.如下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT等语言的库.它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP等编程标准. 特点 dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用的特点,同时它也是一个开放源代码的软件.如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例

javaweb dom4j解析xml文档

1.什么是dom4j dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,可以在SourceForge上找到它.在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能.功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的.如今可以看到越

XML学习笔记(五):使用 jdom和dom4j 解析XML

XML解析的详细分析与jaxp解析XML详见:XML学习笔记(四):使用 DOM和SAX 解析XML 一.JDom 1.创建XML文件: 1)Document类即代表整个XML文档,把生成的 Document 利用 XMLOutputter 类输出即可. 2)映射关系:元素:Element:属性:Attribute:注解:Comment:文本信息:Text: 3)注意:addContent()是追加,setContent()会覆盖. /** * 创建XML * * @throws IOExcep

dom4j解析XML的CURD操作

在开发JavaWeb项目中通常是利用XML配置文件来提高应用程序的访问效率,而在配置XML的同时,更多时候是对XML进行解析. 一.解析XML配置文件有两种机制: DOM和SAX的机制: DOM是将整个XML文件读到内容,形成一个倒状的树形结构. SAX是一个一个的将XML文件中的元素加载的内存,不会形成一个倒状的树形结构. 常用dom4j的api: 主要使用到SAXReader类 SAXReader:表示DOM4J解析器 saxReader.read():加载需要解析的xml文件,返回docu