`

使用dom4j生成和解析xml文档(转)

 
阅读更多
原文链接:http://www.blogjava.net/liuyimx/articles/dom4j-1.html
1.新建一个class类,用来生成xml文件,并输出到本地磁盘,内容如下:

import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class createXml {
      public static Document getDocument(){         
                  Document document = DocumentHelper.createDocument();
                  //生成一个接点
                  Element root = document.addElement("root");
                  //生成root的一个接点
                 Element category = root.addElement("category");
                 //生产category的一个接点
                 Element id = category.addElement("id");
                 //生成id里面的参数值
                 id.addAttribute("name", "id");
                 //生成id里面的值
                 id.addText("1");
                 return document;
             }
               /**
              * 写入xml文件地址
              * @param document 组合好的xml document
              * @param outFile 文件存放的地址
              */
      public static void writeDocument(Document document, String outFile){
                 try{
                     //读取文件
                     FileWriter fileWriter = new FileWriter(outFile);
                     //设置文件编码
                     OutputFormat xmlFormat = new OutputFormat();
                     xmlFormat.setEncoding("UTF-8");
                     //创建写文件方法
                     XMLWriter xmlWriter = new XMLWriter(fileWriter,xmlFormat);
                     //写入文件
                     xmlWriter.write(document);
                     //关闭
                     xmlWriter.close();
                 }catch(IOException e){
                     System.out.println("文件没有找到");
                     e.printStackTrace();
                 }
             }

      public static void main(String[] args){
         createXml.writeDocument(createXml.getDocument(), "f:\\a.xml");

    }
}

右键执行以上代码,会在F盘下生成一个a.xml文件

如下图:

12373585720



2.新建一个类,用于解析和修改刚才生成的xml文件。

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class CatchXml {
    public CatchXml(){
    }
    @SuppressWarnings("unchecked")
    public void changeXml(File inputxml){
        try {
            SAXReader reader = new SAXReader();
            Document doc = reader.read(inputxml);
            List list = doc.selectNodes("//category");
            Iterator iter = list.iterator();
            while(iter.hasNext()){
                Element element = (Element)iter.next();
                element.addComment("it is a comment for liuyimx!");
                Iterator iterator = element.elementIterator("id");
                while(iterator.hasNext()){
                    Element IdElement = (Element)iterator.next();
                    if(IdElement.getText().equals("1")){
                        IdElement.setText("liuyi");
                    }
                    if(IdElement.attribute("name").getValue().equals("id")){
                        IdElement.attribute("name").setValue("001");
                    }
                }
            }
            OutputFormat format = new OutputFormat("  ",true);
            format.setEncoding("UTF-8");
            XMLWriter writer = new XMLWriter(new FileWriter(inputxml));
            writer.write(doc);
            writer.close();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        catch (DocumentException e) {
            e.printStackTrace();
        }
    }
    public static void main(String args[]){
        File file = new File("f:\\a.xml");
        CatchXml cx = new CatchXml();
        cx.changeXml(file);
    }
}

右键执行,修改后a.xml如下:

12373675950

依赖jar包:

dom4j-1.6.1.jar

jaxen-1.1.1.jar
分享到:
评论

相关推荐

    利用Dom4j生成XML和解析XML

    在本文中,我们将学习如何使用 Dom4j 生成 XML 文档和解析 XML 文档。 生成 XML 文档 使用 Dom4j 生成 XML 文档非常简单。首先,我们需要创建一个 Document 对象,然后添加元素和属性。下面是一个生成 XML 文档的...

    Dom4j解析和生成XML文档

    DOM4J解析XML文档: DOM4J通过构建DOM树(Document Object Model)来解析XML。DOM模型是一种将XML文档转换为内存中对象树的表示方式。在DOM4J中,我们可以使用`DocumentBuilderFactory`和`DocumentBuilder`来创建`...

    Dom4j解析XML文档.doc

    在本文中,我们将深入探讨如何使用DOM4J来解析和操作XML文档。 首先,要使用DOM4J,你需要下载其库文件。官方站点位于http://www.dom4j.org,你可以在这里找到最新的DOM4J包,例如dom4j-1.6.1.zip。解压缩后,你会...

    dom4j解析xml文件的压缩包

    为了使用这个库,你需要将该jar包添加到项目的类路径中,然后就可以通过DOM4J提供的类和方法来解析和操作XML文件了。 总之,DOM4J是一个功能强大的XML处理库,无论是在小型项目还是大型系统中,都能发挥其优势,...

    Dom4j遍历解析XML

    Dom4j 遍历解析 XML 是指使用 Dom4j 库来解析和遍历 XML 文档,提取其中的元素、属性和值。 在 Dom4j 中,遍历 XML 文档需要使用 SAXReader 对象来读取 XML 文件,并将其转换为 Document 对象。Document 对象是 Dom...

    dom4J生成xml、解析xml、生成xml文件实例

    这篇博客()可能详细介绍了如何使用DOM4J来生成和解析XML文件,这对于处理XML文档的开发人员来说是非常有用的工具。 **1. 生成XML文件** 生成XML文件主要涉及以下步骤: - **创建Document对象**:DOM4J通过`...

    Dom4J生成XML的完整方法希望大家能用到

    Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库来创建XML文档,包括初始化文档、添加元素、设置属性、插入文本以及最终保存文档至...

    dom4j解析xml详解

    - **数据交换**: 在不同的系统之间交换XML格式的数据,DOM4J可以轻松解析和生成XML文档。 - **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP...

    dom4j解析及生成 xml代码收集

    解析XML文件后,DOM4J会构建一个`Document`对象树,你可以通过这个树来访问和操作XML的所有元素。 - **Element对象**:`Element`是XML文档中的节点,相当于HTML的`<tag>`。DOM4J提供了丰富的API来操作元素,如获取...

    生成、解析xml的四种方式(dom,dom4j,sax,jdom)

    本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...

    DOM4j创建和解析XML文档

    在这个主题中,我们将深入探讨DOM4j如何帮助我们创建和解析XML文档,以及其背后的原理和用法。 首先,DOM4j采用了Document Object Model(DOM)的概念,但它比标准的Java DOM实现更加轻量级,性能更优。DOM4j的核心...

    通过Dom4j创建和读取xml文件下载

    在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了一套强大的API来创建、解析和操作XML文档。本教程将详细讲解如何利用DOM4J进行XML文件的创建和读取。首先,我们需要了解DOM4J的核心概念,如Element、...

    dom4j 解析写入xml

    1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    java dom4j解析xml

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

    dom4j生成XML文档及解析

    解析XML文档主要涉及以下过程: 1. **创建SAXReader对象**:`new SAXReader()`用于创建一个解析器实例,它可以读取XML文件并转换为DOM4J的Document对象。 2. **读取XML文件**:调用`read()`方法,传入包含XML数据...

    dom4j API 用于解析XML的java库

    DOM4J作为解析XML的工具,其主要功能和特性包括: 1. **DOM模型**:DOM4J提供了基于DOM(Document Object Model)的接口,允许开发者以树形结构操作XML文档。通过`Document`对象,可以访问XML文档的根元素,并通过`...

    使用dom4j创建一个xml文件刘宝宝版

    在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了丰富的API来操作XML文档,包括创建、解析、修改和查询XML。下面我们将详细介绍如何使用DOM4J来创建一个XML文件。 首先,让我们了解DOM4J的基本概念。DOM4J...

    dom4j解析xml

    在提供的文件列表中,`Test.java`可能包含使用DOM4J解析XML的示例代码。通常,这样的代码会包含以下部分: ```java import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; // ...

    使用Maven管理项目,实现DOM4j操作XML文件

    2. **创建XML文件**:使用DOM4j创建一个新的XML文件,这通常涉及到`Document`、`Element`和`Writer`的使用。例如,你可以创建一个包含根元素和子元素的XML文件。 3. **动态创建XML节点**:在已有的XML文档中动态...

Global site tag (gtag.js) - Google Analytics