`
- 浏览:
139975 次
- 性别:
- 来自:
湖南
-
Dom4j是一个易于使用的,开源的库,在Java平台上与XML,XPath,XSLT协同工作。使用Java集合框架,全面支持DOM,SAX,JAXP。
官方网站:http://dom4j.org
1.将XML文件转换为一个Document对象
import java.net.URL;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
public class Foo {
public Document parse(URL url) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(url);
return document;
}
}
2.很多方法用于操作Document,可以返回标准的Java迭代器
public void bar(Document document) throws DocumentException {
Element root = document.getRootElement();
// iterate through child elements of root
for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
// do something
}
// iterate through child elements of root with element name "foo"
for ( Iterator i = root.elementIterator( "foo" ); i.hasNext(); ) {
Element foo = (Element) i.next();
// do something
}
// iterate through attributes of root
for ( Iterator i = root.attributeIterator(); i.hasNext(); ) {
Attribute attribute = (Attribute) i.next();
// do something
}
}
3.快速循环
如果你需要遍历一个很大的XML文档,可以使用快速循环(递归)来改善性能。可以避免为每一次循环都创建一个迭代器对象。
public void treeWalk(Document document) {
treeWalk( document.getRootElement() );
}
public void treeWalk(Element element) {
for ( int i = 0, size = element.nodeCount(); i < size; i++ ) {
Node node = element.node(i);
if ( node instanceof Element ) {
treeWalk( (Element) node );
}
else {
// do something....
}
}
}
4.创建一个新的XML文档
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class Foo {
public Document createDocument() {
Document document = DocumentHelper.createDocument();
Element root = document.addElement( "root" );
Element author1 = root.addElement( "author" )
.addAttribute( "name", "James" )
.addAttribute( "location", "UK" )
.addText( "James Strachan" );
Element author2 = root.addElement( "author" )
.addAttribute( "name", "Bob" )
.addAttribute( "location", "US" )
.addText( "Bob McWhirter" );
return document;
}
}
5.将XML文档写入文件
通过write()方法将一个XML文档写入文件是最简单的方式。
FileWriter out = new FileWriter( "foo.xml" );
document.write( out );
如果你想改变输出的格式,比如美观的格式(含缩进)和压缩的格式(不含缩进),可以使用XMLWriter类。
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Foo {
public void write(Document document) throws IOException {
// lets write to a file
XMLWriter writer = new XMLWriter(
new FileWriter( "output.xml" )
);
writer.write( document );
writer.close();
// Pretty print the document to System.out
OutputFormat format = OutputFormat.createPrettyPrint();
writer = new XMLWriter( System.out, format );
writer.write( document );
// Compact format to System.out
format = OutputFormat.createCompactFormat();
writer = new XMLWriter( System.out, format );
writer.write( document );
}
}
6.XML和String之间的相互转换
通过asXML()方法,你可以将一个Document,Attribute或Element对象转换成一个包含XML文本的字符串。
Document document = ...;
String text = document.asXML();
同样,通过DocumentHelper.parseText()方法,你也可以方便地将一个字符串形式的XML转换成一个Document对象。
String text = "<person> <name>James</name> </person>";
Document document = DocumentHelper.parseText(text);
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
**DOM4J解析XML实例详解** 在Java编程中,处理XML文档是一项常见的任务。DOM4J是一个非常流行的、强大的Java XML API,它提供了灵活且高效的方式来解析、创建、修改XML文档。本文将深入探讨如何使用DOM4J进行XML...
在这个实例中,我们将深入探讨如何使用DOM4J解析XML文件,并通过`Dom4jTest1.java`这个示例程序来理解其工作原理。 首先,我们需要了解XML(Extensible Markup Language)是一种标记语言,常用于存储和传输数据。...
**DOM4J详解与实例应用** DOM4J是一款强大的Java XML处理库,它提供了一种灵活且高效的方式来处理XML文档。DOM4J以其简洁的API、高性能和丰富的功能,成为了许多Java开发者在处理XML时的首选工具。在这个实例中,...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、查询和修改变得更为简单。在本文中,我们将深入探讨DOM4J 1.6.1版本的安装及其在Maven项目中的应用。 首先,DOM4J...
在这个实例中,我们将深入理解DOM4J库如何帮助我们处理XML文档,并通过实际操作来熟悉其核心功能。 XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件、文档存储等领域。...
此文档包含了Dom4J常用的操作(对于一般的应用足够了)和实例,可模仿开发
本实例"xmldemo"将向我们展示如何利用DOM4J进行XML的读写操作。 首先,理解DOM4J的核心概念。DOM4J使用了Document对象来表示整个XML文档,Element代表XML的元素节点,Attribute代表属性,Text代表文本内容。通过...
在"dom4jdemo"这个子文件夹中,很可能是包含了一个或多个Java源代码文件,演示了如何使用DOM4J进行XML操作的实例。这些代码通常会包含导入DOM4J库的语句,如`import org.dom4j.Document;`和`import org.dom4j....
本实例将详细解释如何使用DOM4J进行XML文档的操作,包括读取、写入、更新和删除XML元素。 首先,我们需要了解XML的基本结构,XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据。DOM4J通过解析...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得解析、创建、修改XML文件变得简单。在这个主题中,我们将深入探讨DOM4J如何递归地解析XML文件,并将解析结果映射到动态bean或Map中。 ...
在这个"Dom4J-Xml实例"中,我们将深入探讨如何利用Dom4J进行XML的基本操作,如创建XML文档、添加XML节点等。 首先,我们需要了解XML的基础知识。XML(Extensible Markup Language)是一种可扩展标记语言,用于存储...
3. **dom4j实例**: - 解析XML:`DocumentFactory`创建`Document`,`XMLReader`读取XML文件。 - 查找元素:`selectNodes()`使用XPath表达式选择元素,`elementIterator()`遍历元素集合。 - 修改XML:`setText()`...
下面是一个使用DOM4J的简单实例,展示了如何读取和解析XML文件: ```java import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public ...
1. **Dom4J基本概念**:Dom4J支持Element(元素)、Attribute(属性)、Text(文本)、Namespace(命名空间)等核心概念,提供了丰富的操作接口。 2. **Dom4J解析XML**:首先,通过`DocumentBuilderFactory`创建`...
接下来,我们将创建一个`SAXReader`实例,它是DOM4J中的解析器,用于读取XML文件: ```java SAXReader reader = new SAXReader(); ``` 然后,使用`reader`读取XML文件并获取`Document`对象,`Document`代表整个XML...
在Java中,解析XML文件是常见的任务,通常有DOM(Document Object Model)和DOM4J两种方式。下面我们将详细探讨这两种解析方法。 DOM解析方式是将整个XML文件加载到内存中,形成一棵DOM树,每个节点代表XML文档的一...
本文将深入探讨DOM、DOM4J和SAX三种常用的XML解析方法,并结合具体的实例进行详细讲解。 首先,DOM(Document Object Model)是W3C组织推荐的一种XML解析标准。它将整个XML文档加载到内存中,构建一个树形结构,...
### DOM、JDOM、DOM4J解析XML实例 #### DOM解析XML DOM(Document Object Model)是一种树形结构的数据模型,用于表示XML或HTML文档。它允许程序在内存中加载整个文档,并通过提供的API来访问和修改文档中的任何...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的API,使得XML的读取、写入、遍历以及修改变得容易。在这个压缩包中,你将找到一个DOM4J用于XML操作的例子,这对于初学者来说是一个很好的学习...