`

java解析xml之一 Dom4j

    博客分类:
  • js
阅读更多

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 dom4j-1.6.1.jar

    Java解析XML时,dom4j是一个非常流行的库,它提供了灵活且强大的API来处理XML文档。dom4j-1.6.1.jar是这个库的一个版本,发布于2005年,它支持XML的读取、写入、操作以及查询功能。在本文中,我们将深入探讨dom4j的...

    dom4j解析xml详解

    ### DOM4J解析XML详解 #### 一、DOM4J简介与特性 DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时...

    Java解析XML文档(DOM与DOM4j两种方式)

    Java提供了多种解析XML的API,其中DOM(Document Object Model)和DOM4j是常用的两种方法。本文将详细介绍这两种方式以及如何使用它们进行XML文档的增、删、改查操作。 一、DOM解析 DOM解析器将整个XML文档加载到...

    java解析xml并导入数据库(dom4j).doc

    DOM4J 库是一个 Java 库,用于解析和处理 XML 文件。它提供了一个 Document 对象,用于表示 XML 文件,并提供了多种方法来操作 XML 文件,例如 `selectNodes` 方法用于定位 XML 文件中的元素,`elementText` 方法...

    dom4j.jar包,java解析xml dom4j.jar包

    **DOM4J库详解** DOM4J是一款强大的Java XML API,它提供了丰富的功能,使得在Java应用程序中处理XML文档变得简单而高效。...结合其轻量级的设计和对XPath的支持,DOM4J成为了Java开发者的首选XML库之一。

    Java使用sax、dom、dom4j解析xml文档

    Java提供了多种解析XML的API,包括SAX(Simple API for XML)、DOM(Document Object Model)以及DOM4J。下面我们将详细探讨这些解析方式及其在实际开发中的应用。 1. SAX解析器: SAX是一种基于事件驱动的解析器,...

    dom4j 解析(读取) xml 节点数据

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单而直观的方式来解析、创建、修改和操作XML数据。在本教程中,我们将深入探讨如何使用DOM4J解析(读取)XML节点数据,不受XML层级的限制。 首先,确保你...

    Java解析xml配置文件,DOM4J解析xml配置文件,提供使用文档和源码下载

    Java解析XML配置文件是开发过程中常见的一项任务,特别是在基于Java的框架中,如Spring,大量使用XML文件来存储配置信息。DOM4J是Java中一个非常流行且功能强大的XML处理库,它提供了丰富的API用于读取、写入、修改...

    java 解析xml所需要的dom4j包

    DOM4J是一个强大的Java库,它提供了丰富的API来处理XML,包括读取、写入、修改以及XPath查询。DOM4J在设计上考虑了灵活性和效率,使得开发者可以更方便地处理XML文档。 DOM(Document Object Model)是一种标准的...

    dom4j解析xml文件的压缩包

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、查询和修改变得简单。这个压缩包包含了DOM4J的完整版本,适用于那些希望在Java项目中使用DOM4J进行XML操作的开发者...

    java解析xml用到的dom4j,jaxen包

    在这个例子中,我们首先使用DOM4J的`DocumentHelper.parseText`方法解析XML字符串,然后创建一个`DOMXPath`对象并使用XPath表达式"/root/element"找到`root`元素下的第一个`element`元素。接着,我们改变这个元素的...

    java dom4j解析xml

    Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...

    java dom4j 解析xml的例子,可用

    1. **DOM4J解析XML**:DOM4J通过创建一个可操作的树形结构来表示XML文档,这棵树称为文档对象模型。解析XML时,DOM4J首先读取XML文件并构建一个节点结构,然后你可以通过API遍历和修改这个结构。例如,你可以通过...

    JAVA 解析XML 的JAr包 DOM4j.Jar JDOM.jar

    本篇将详细介绍使用DOM4j.Jar和JDOM.jar这两个Java库来解析XML文件的方法。 **DOM4j** DOM4j是一个灵活且功能强大的Java XML API,它提供了全面的XML处理解决方案,包括读取、写入、操作和转换XML文档。DOM4j的...

    dom4j解析xml

    ### DOM4J解析XML知识点详解 #### 一、DOM4J简介 DOM4J是一个Java库,用于处理XML文档。它的设计目标是为了提供一个简单、易于使用的API来处理XML文件,同时保持性能上的优势。与Java标准库中的DOM实现相比,DOM4J...

    XML解析技术DOM4J解析

    DOM4J提供了对XML Schema的全面支持,允许开发者在解析XML文档时进行严格的模式验证,确保数据的准确性和一致性。这对于企业级应用尤为重要,因为它们往往需要处理大量的结构化数据。 **3. 基于事件的处理** 对于...

    DOM4J 解析XML

    DOM4J不仅是一个解析XML的工具,还可以用作XML数据绑定库,将XML数据映射到Java对象。此外,DOM4J还支持Java 5的注解,这使得XML文档的处理更加直观和简洁。结合其灵活性和高性能,DOM4J成为Java开发人员处理XML文档...

    java 解析XML性能对比分析Demo

    本文将深入探讨几种不同的XML解析方法,并通过实际的“Java解析XML性能对比分析Demo”来展示它们的性能差异。我们将讨论DOM、SAX、JDOM、DOM4J和JAXB这五种解析器,以及它们各自的特点和适用场景。 1. DOM(文档...

Global site tag (gtag.js) - Google Analytics