`
java_frog
  • 浏览: 253117 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用dom4j进行XML文件的创建\修改\删除

XML 
阅读更多
package dom;


import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class TestDom4j {

public void createXml(String outfilename){
 
        Document doc = DocumentHelper.createDocument();
        Element books = doc.addElement("books");
       
        Element book = books.addElement("book");
        book.addAttribute("show", "no");
        Element title = book.addElement("title");
        title.addText("mybook");
    
        Element book1 = books.addElement("book");
        book1.addAttribute("show", "no");
        Element title1 = book1.addElement("title");
        title1.addText("mybook1");
       
      
        Element book2 = books.addElement("book");
        book2.addAttribute("show", "no");
        Element title2 = book2.addElement("title");
        title2.addText("mybook2");
       
        Element owner = books.addElement("owner");
        owner.addText("myself");
       
       
        try{
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("GBK");    // 指定XML编码     
            XMLWriter output = new XMLWriter(
                    new FileWriter( new File((outfilename))),format);
                output.write(doc);
                output.flush();
                output.close();
                }
             catch(IOException e){
           System.out.println(e.getMessage());
           }
          }

      public void changeXML(String filename,String newfilename ){
          try{
              SAXReader saxReader = new SAXReader();   
              Document document = saxReader.read(new File(filename));
              /** 修改内容之一: 如果book节点中show参数的内容为book2,则delete */
              /** 先用xpath查找对象 */
              List list = document.selectNodes("/books/book");  
              Iterator iter = list.iterator();
              while(iter.hasNext()){
                  Element bookElement = (Element)iter.next();
                  Iterator iterator = bookElement.elementIterator("title");
                  while(iterator.hasNext()){
                      Element titleElement=(Element)iterator.next();
                      if(titleElement.getText().equals("mybook2")){
                       Element parElement=bookElement.getParent();
                        System.out.println("point1");
                         parElement.remove(bookElement);
                     }
                  }
              }
             
              /** 修改内容之一: 如果book节点中owner参数的内容为myself,则改为public */
              /** 先用xpath查找对象 */
              list = document.selectNodes("/books/owner");
              iter = list.iterator();
              if(iter.hasNext()){
                  Element ownerElement = (Element)iter.next();
                  ownerElement.setText("me");
              }
             
               
            /**输出到修改后的文件*/
              OutputFormat format = OutputFormat.createPrettyPrint();
              format.setEncoding("GBK");    // 指定XML编码     
              XMLWriter output = new XMLWriter(
                      new FileWriter( new File((newfilename))),format);
                  output.write(document);
                  output.flush();
                  output.close();
              }catch(Exception ex){
                  ex.printStackTrace();
              }
          }
  
    public static void main(String args[]){

         TestDom4j testdom=new TestDom4j();
       testdom.createXml("d:/output.xml");
       testdom.changeXML("d:/output.xml","d:/modify.xml");
       System.out.println("well done!");
     
    }
}

分享到:
评论

相关推荐

    dom4j解析xml文件(增删改查)

    在“dom4j解析xml文件(增删改查)”这个主题中,我们将深入探讨如何使用DOM4J来实现XML文档的四种基本操作:增加元素、删除元素、更新元素内容以及查询元素。 首先,让我们了解DOM4J的基本用法。在解析XML文件时,...

    dom4j解析xml文件的压缩包

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

    使用DOM4J对XML文件操作-添加、修改、删除、获取元素节点

    在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除元素以及获取元素节点。 1. **添加元素节点** 在DOM4J中,添加元素节点通常涉及创建一个新的`Element`对象,然后将其...

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

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

    DOM4J jar包 xml解析 所有的dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1包 导入直接使用

    在项目中使用DOM4J时,只需将相应的jar包(如dom4j-1.6.1.jar、dom4j-2.0.2.jar或dom4j-2.1.1.jar)导入到类路径中,即可开始利用其功能处理XML文档。导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写...

    dom4j解析xml

    以下是一个简单的DOM4J代码示例,展示如何使用DOM4J删除XML文档中的一个节点: ```java import java.io.FileOutputStream; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j....

    dom4j解析xml实例

    DOM4J还允许我们对XML进行修改,如添加、删除或更新元素和属性。例如,添加新元素: ```java Element newElement = DocumentHelper.createElement("newElement"); newElement.setText("New Value"); root...

    java dom4j解析xml

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

    dom4j操作xml

    在本文中,我们将深入探讨DOM4J如何进行XML操作,包括增加、删除和修改XML元素。 首先,我们需要理解XML的基本结构。XML(可扩展标记语言)是一种用于存储和传输数据的标准格式,它使用标签来描述数据。DOM4J通过...

    dom4j解析和创建xml简单实例

    使用SAXReader类可以从XML文件创建一个Document对象。例如: ```java SAXReader reader = new SAXReader(); Document document = reader.read("example.xml"); ``` 之后,我们可以遍历Document对象,获取元素...

    使用dom4j操作xml

    - `org.dom4j.io.*`:用于读写XML文件的类。 - `java.util.*`:用于集合操作等。 - **创建文档实例**: - 使用`DocumentHelper.createDocument()`方法创建一个新的`Document`对象。 - **添加注释**: - 使用`...

    dom4j解析XML所需jar包

    5. **XML文档操作**:DOM4J提供了丰富的API,如添加、删除、移动和复制XML节点,以及修改节点内容和属性值。这些功能使得对XML文档的维护和更新变得非常方便。 6. **XPath和XSLT转换**:除了基本的XML操作,DOM4J还...

    DOM4J 解析XML 添加 删除 修改

    这篇博客主要探讨了如何使用DOM4J进行XML文档的操作,包括添加、删除和修改元素。下面将详细阐述DOM4J库的核心概念以及在XML操作中的具体应用。 DOM4J的全称是“Document Object Model for Java”,它是基于Java的...

    dom4j操作xml文件

    在本文中,我们将深入探讨如何利用DOM4J进行XML文件的读取、写入和修改操作。 一、XML基础 XML(Extensible Markup Language)是一种标记语言,用于存储和传输结构化数据。它具有自解释性,使得数据在不同的系统间...

    dom4j解析xml文件的例子

    在这个例子中,我们将深入理解DOM4J如何解析XML文件,同时也会探讨一些相关工具的使用。 XML(eXtensible Markup Language)是一种结构化数据格式,广泛应用于数据交换、配置文件等领域。DOM(Document Object ...

    dom4j_XML.rar_DOM4J_dom4j xml

    在"dom4j_XML"这个例子中,可能包含了创建一个XML文件,然后用DOM4J进行解析和操作的完整流程。开发者可能会学习如何读取XML文件,获取特定元素的值,修改元素或属性,以及如何将修改后的文档保存回XML文件。这样的...

    Dom4j解析配置文件与xml小例子

    8. **保存修改**:最后,如果你想保存对XML文件的修改,可以使用`OutputStream`: ```java OutputStream out = new FileOutputStream("path_to_save_file.xml"); document.write(out); out.close(); ``` 通过这些...

    dom4J解析XML文件

    DOM4J是一个强大的Java库,专门用于处理XML文档。它是一个灵活且高性能的库,提供了丰富的API来解析、创建、修改XML文档。...结合实际应用,DOM4J可以帮助开发者更便捷地解析、创建和维护XML文件。

Global site tag (gtag.js) - Google Analytics