`
premier_gu
  • 浏览: 10557 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

dom4j读写xml

    博客分类:
  • java
阅读更多
dom4j生成xml与解析xml
1、解析xml

<?xml version="1.0" encoding="gbk"?>
<a>
<user id="1">
<name>jack</name>
<age>23</age>
</user>

<user id="2">
<name>lucy</name>
<age>22</age>
</user>
</a>

------------------------------------------------------------------------------------

import java.io.File;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;


public class MyXMLReader {   
   
    public static void main(String[] arge) {   
     
             try {
                SAXReader reader=new SAXReader();
     Document doc=reader.read(new File("c://test2.xml"));
           Element root= doc.getRootElement();
           Iterator iterator=root.elementIterator("user");
           while(iterator.hasNext()){
           Element user=(Element)iterator.next();
           String id=user.attributeValue("id");
           System.out.println("id号码:"+id);
           String name=user.elementText("name");
           System.out.println("用户名字:"+name);
           String age=user.elementText("age");
           System.out.println("年龄:"+age);
           }
    } catch (Exception e) {
     e.printStackTrace();
    }

            }
}
==========================================================

2、生成xml文档与修改xml文档

import java.io.FileWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
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 Dom4JXML {
public void createXML(){
   Document doc=DocumentHelper.createDocument();
   Element rootEle=doc.addElement("emps");
   rootEle.addComment("这是一个dom4j生成的XML文件");
   Element empEle=rootEle.addElement("emp");
   empEle.addAttribute("id", "1");
   Element nameEle=empEle.addElement("name");
   nameEle.setText("jack");
   Element sexEle=empEle.addElement("sex");
   sexEle.addText("man");
   try{
    Writer out=new FileWriter("c://emps.xml");
    OutputFormat format = OutputFormat.createPrettyPrint();
    format.setIndent(true);   
    format.setNewlines(true);   //设置换行
    format.setEncoding("GBK");
             XMLWriter writer=  new XMLWriter(out,format);
             writer.write(doc);
             writer.close();
             System.out.println("生成的emps.xml成功。");
   }catch(Exception e){
    e.printStackTrace();
   }
}

         public void updateXML(){
        
           try {
          SAXReader reader= new SAXReader();
    Document doc=reader.read("c://emps.xml");
    List listId=doc.selectNodes("//emps//emp//@id");
    Iterator idIterator=listId.iterator();
    while(idIterator.hasNext()){
     Attribute attribute=(Attribute)idIterator.next();
     attribute.setValue("001");
    }
     List listName=doc.selectNodes("//emps//emp//name");
     Iterator nameIterator=listName.iterator();
     while(nameIterator.hasNext()){
    Element eleName= (Element)nameIterator.next();
    eleName.setText("张三");
     }
    
     List listSex=doc.selectNodes("//emps//emp");
     Iterator sexIterator=listSex.iterator();
     while(sexIterator.hasNext()){
                   Element eleSex=(Element)sexIterator.next();
                    Iterator ite=eleSex.elementIterator("sex");
                     while(ite.hasNext()){
                    Element sexEle=(Element)ite.next();
                    eleSex.remove(sexEle);
                   
                     }
     }
     Writer out=new FileWriter("c://emps(update).xml");
     OutputFormat format = OutputFormat.createPrettyPrint();
     format.setEncoding("GBK");
              XMLWriter writer=  new XMLWriter(out,format);
              writer.write(doc);
              writer.close();
              System.out.println("生成的emps(update).xml成功。");
   
        } catch (Exception e) {
  
    e.printStackTrace();
   }
         }
         public static void main(String[] args){
               Dom4JXML dom4jxml=new Dom4JXML();
                       dom4jxml.createXML();
                      dom4jxml.updateXML();
         }



}

分享到:
评论

相关推荐

    dom4j读写xml文档实例

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单且高效的API来读取、写入、修改以及操作XML。在这个实例中,我们将深入理解DOM4J库如何帮助我们处理XML文档,并通过实际操作来熟悉其核心功能。 XML...

    读写超大类xml文件,使用dom4j读写xml文件的工具类

    基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。

    java中dom4j读写XML

    Java中的DOM4J库是一个非常流行的、开源的Java XML API,它提供了强大的XML处理功能,包括XML的读取、创建、修改以及写入。DOM4J是基于DOM模型的,但相比标准的Java DOM,它提供了更加简洁和高效的API,使得开发者在...

    Dom4j下载及使用Dom4j读写XML简介

    Dom4j解析教程。详细讲解如何使用dom4j解析xml,简单易懂。

    使用dom4j对xml的读写

    **使用DOM4J对XML的读写** DOM4J是一个非常强大的Java库,专门用于处理XML文档。它提供了丰富的API,使得XML的读取、创建、修改和解析变得简单易行。相较于JDOM,DOM4J确实提供了更多的功能,虽然在学习曲线方面...

    Dom4j读写XML

    以下是对Dom4j读写XML的详细讲解: 一、Document对象相关 1. **读取XML文件**:通过`SAXReader`实例化并调用`read()`方法,可以将XML文件读取为`Document`对象。例如: ```java SAXReader reader = new ...

    dom4j解析xml详解

    DOM4J的核心优势之一在于其丰富的接口体系,这些接口定义在`org.dom4j`包内,提供了对XML文档进行读写、查询、修改等操作的能力。 1. **Attribute**: 代表XML中的属性,可用于获取和设置属性值。 2. **Branch**: ...

    dom4j_XML.rar_DOM4J_dom4j xml java_java xml_读写xml

    例子比较简单”的描述中,我们可以推断出这个压缩包包含了一些关于如何使用DOM4J进行XML读写的基本示例。以下是对这些关键知识点的详细解释: 1. **XML解析**:DOM4J支持两种解析XML文档的方式:SAX(Simple API ...

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

    ### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,...掌握以上知识点,开发者即可熟练运用Dom4J生成复杂的XML文档,满足项目中对XML数据处理的需求。

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

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

    dom4j读写xml文件

    在Java领域,XML常用于数据交换、配置文件以及存储结构化数据,因此理解和掌握如何使用dom4j对XML文件进行操作是至关重要的。 DOM(Document Object Model)是一种用于表示XML文档的树形结构,而dom4j是基于Java的...

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

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除...

    dom4j解析xml文件的压缩包

    6. **Namespace支持**:DOM4J提供了对XML命名空间的全面支持,可以方便地处理包含命名空间的XML文档。 7. **DocumentType支持**:对于包含DOCTYPE声明的XML文档,DOM4J可以处理这些声明,并提供对应的DocumentType...

    用dom4j对xml进行增删改查操作参考资料

    在提供的资源中,"dom4j读写XML及保存批量数据对象 - 五月天的博客 - ITeye技术网站.bmp"可能是一个教程页面的截图,它会详细解释这些操作的实现步骤。如果你遇到任何问题,可以参考这个截图或者在ITeye技术网站上...

    使用dom4j读写XML文档

    ### 使用dom4j读写XML文档的关键知识点 #### 一、简介与安装 - **DOM4J** 是一款用于处理XML文档的Java库,它提供了简单且强大的API来解析、创建、修改XML文档。 - 官方网站:[http://www.dom4j.org/]...

    利用dom4j读写xml实例xmldemo

    本实例"xmldemo"将向我们展示如何利用DOM4J进行XML的读写操作。 首先,理解DOM4J的核心概念。DOM4J使用了Document对象来表示整个XML文档,Element代表XML的元素节点,Attribute代表属性,Text代表文本内容。通过...

    dom4j解析xml

    ### DOM4J解析XML知识点详解 ...通过结合使用DOM4J的基本类和XPath表达式,可以轻松地实现对XML文档的查询和修改。无论是对于开发人员还是对于那些需要频繁处理XML数据的应用程序来说,DOM4J都是一个非常有价值的工具。

    dom4j解析XML所需jar包

    这些功能使得对XML文档的维护和更新变得非常方便。 6. **XPath和XSLT转换**:除了基本的XML操作,DOM4J还能配合XPath执行XSLT(eXtensible Stylesheet Language Transformations)转换,实现XML到XML或XML到其他...

Global site tag (gtag.js) - Google Analytics