2009-6-19
java解析xml之一 Dom4j
【实现:】
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
*
* @author xiaohua
* Dom4j 生成XML文档与解析XML文档
*/
public class Dom4jDemo implements XmlDocument
{
public void init()throws Exception
{
}
/*
(non-Javadoc)
* @paranm fileName 文件名称
*/
public void createXml(String fileName) throws Exception
{
//1.产生Document对象
Document doc=DocumentHelper.createDocument();
//2.产生根元素
Element employees=doc.addElement("employees");
//3.产生子元素
Element employee=employees.addElement("employee");
//4.利用子元素添加属性和值
Element name=employee.addElement("name");
name.setText("xiaohua");
Element sex=employee.addElement("sex");
sex.setText("w");
Element age=employee.addElement("age");
age.setText("22");
try
{
//5.利用Writer对象,产生XMLWriter对象
Writer w=new FileWriter(fileName);
XMLWriter xml=new XMLWriter(w);
//6.将Document对象写入xml对象中
xml.write(doc);
7.关闭XMLWriter对象
xml.close();
}
catch(IOException ioe)
{
ioe.printStackTrace();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void parserXml(String fileName)throws Exception
{
//1.分别产生File和SAXReader
File inputXml=new File(fileName);
SAXReader saxReader = new SAXReader();//SAXReader 解析xml的
try {
//2. 利用SAXReader对象读取文件的信息,并返回Document对象
Document doc=saxReader.read(inputXml);
//3.利用Document对象对象产生根元素
Element employees=doc.getRootElement();
//4.遍历根元素的内容
for(Iterator i=employees.elementIterator();i.hasNext();)
{
//5.根元素的集合对象来获取子元素
Element employee=(Element)i.next();
//6.遍历子元素内容
for(Iterator j=employee.elementIterator();j.hasNext();)
{
//7.获取子元素节点信息
Element node=(Element)j.next();
System.out.println("节点名称:"+node.getName()+"值:"+"------>"+node.getText());
}
}
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
System.out.println("dom4j parserXml");
}
public static void main(String[] ar)throws Exception
{
Dom4jDemo d=new Dom4jDemo();
//d.createXml("e:\\employees.xml");
d.parserXml("e:\\employees.xml");
}
public void pareser(String fileName) throws Exception
{
// TODO Auto-generated method stub
}
}
显示效果:
Employees。Xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<employees>
<employee>
<name>ddviplinux</name>
<sex>m</sex>
<age>30</age>
</employee>
<employee>
<name>ddd</name>
<sex>m</sex>
<age>22</age>
</employee>
</employees>
【小结】:
1. DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。
2. SAXReader 解析xml的常用类。
解析步骤:
//1.分别产生File和SAXReader
//2. 利用SAXReader对象读取文件的信息,并返回Document对象
//3.利用Document对象对象产生根元素
//4.遍历根元素的内容
//5.根元素的集合对象来获取子元素
//6.遍历子元素内容
//7.获取子元素节点信息
3.写入xml文件的类:XMLWriter。写入语句Writer w=new FileWriter(fileName);
XMLWriter xml=new XMLWriter(w);
xml.write(doc);
步骤:
a. //1.产生Document对象
b.//2.产生根元素
c. //3.产生子元素
d.//4.利用子元素添加属性和值
e. //5.利用Writer对象,产生XMLWriter对象
f. //6.将Document对象写入xml对象中
g.7.关闭XMLWriter对象
显示效果:
分享到:
相关推荐
Java解析XML时,dom4j是一个非常流行的库,它提供了灵活且强大的API来处理XML文档。dom4j-1.6.1.jar是这个库的一个版本,发布于2005年,它支持XML的读取、写入、操作以及查询功能。在本文中,我们将深入探讨dom4j的...
### DOM4J解析XML详解 #### 一、DOM4J简介与特性 DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时...
Java提供了多种解析XML的API,其中DOM(Document Object Model)和DOM4j是常用的两种方法。本文将详细介绍这两种方式以及如何使用它们进行XML文档的增、删、改查操作。 一、DOM解析 DOM解析器将整个XML文档加载到...
DOM4J 库是一个 Java 库,用于解析和处理 XML 文件。它提供了一个 Document 对象,用于表示 XML 文件,并提供了多种方法来操作 XML 文件,例如 `selectNodes` 方法用于定位 XML 文件中的元素,`elementText` 方法...
**DOM4J库详解** DOM4J是一款强大的Java XML API,它提供了丰富的功能,使得在Java应用程序中处理XML文档变得简单而高效。...结合其轻量级的设计和对XPath的支持,DOM4J成为了Java开发者的首选XML库之一。
Java提供了多种解析XML的API,包括SAX(Simple API for XML)、DOM(Document Object Model)以及DOM4J。下面我们将详细探讨这些解析方式及其在实际开发中的应用。 1. SAX解析器: SAX是一种基于事件驱动的解析器,...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的方式来解析、创建、修改和操作XML数据。在本教程中,我们将深入探讨如何使用DOM4J解析(读取)XML节点数据,不受XML层级的限制。 首先,确保你...
Java解析XML配置文件是开发过程中常见的一项任务,特别是在基于Java的框架中,如Spring,大量使用XML文件来存储配置信息。DOM4J是Java中一个非常流行且功能强大的XML处理库,它提供了丰富的API用于读取、写入、修改...
DOM4J是一个强大的Java库,它提供了丰富的API来处理XML,包括读取、写入、修改以及XPath查询。DOM4J在设计上考虑了灵活性和效率,使得开发者可以更方便地处理XML文档。 DOM(Document Object Model)是一种标准的...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、查询和修改变得简单。这个压缩包包含了DOM4J的完整版本,适用于那些希望在Java项目中使用DOM4J进行XML操作的开发者...
在这个例子中,我们首先使用DOM4J的`DocumentHelper.parseText`方法解析XML字符串,然后创建一个`DOMXPath`对象并使用XPath表达式"/root/element"找到`root`元素下的第一个`element`元素。接着,我们改变这个元素的...
Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...
1. **DOM4J解析XML**:DOM4J通过创建一个可操作的树形结构来表示XML文档,这棵树称为文档对象模型。解析XML时,DOM4J首先读取XML文件并构建一个节点结构,然后你可以通过API遍历和修改这个结构。例如,你可以通过...
本篇将详细介绍使用DOM4j.Jar和JDOM.jar这两个Java库来解析XML文件的方法。 **DOM4j** DOM4j是一个灵活且功能强大的Java XML API,它提供了全面的XML处理解决方案,包括读取、写入、操作和转换XML文档。DOM4j的...
### DOM4J解析XML知识点详解 #### 一、DOM4J简介 DOM4J是一个Java库,用于处理XML文档。它的设计目标是为了提供一个简单、易于使用的API来处理XML文件,同时保持性能上的优势。与Java标准库中的DOM实现相比,DOM4J...
本文将深入探讨几种不同的XML解析方法,并通过实际的“Java解析XML性能对比分析Demo”来展示它们的性能差异。我们将讨论DOM、SAX、JDOM、DOM4J和JAXB这五种解析器,以及它们各自的特点和适用场景。 1. DOM(文档...
DOM4J提供了对XML Schema的全面支持,允许开发者在解析XML文档时进行严格的模式验证,确保数据的准确性和一致性。这对于企业级应用尤为重要,因为它们往往需要处理大量的结构化数据。 **3. 基于事件的处理** 对于...
DOM4J不仅是一个解析XML的工具,还可以用作XML数据绑定库,将XML数据映射到Java对象。此外,DOM4J还支持Java 5的注解,这使得XML文档的处理更加直观和简洁。结合其灵活性和高性能,DOM4J成为Java开发人员处理XML文档...