`

xml 解析 读取 修改 dom4j

阅读更多
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.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解析(读取)XML节点数据,不受XML层级的限制。 首先,确保你已经下载了必要的依赖,即DOM4J库。通常,这将是一个名为`dom4j-x.x.x.jar`的文件,其中x.x.x是DOM4J的版本号...

    Dom4j解析XML文档.doc

    无论是读取XML文件,解析XML字符串,还是创建、修改和遍历XML结构,DOM4J都提供了简洁的接口,极大地简化了开发者的工作。在实际的开发中,掌握DOM4J的使用,能够帮助你更有效地处理XML数据,提高代码的可维护性和...

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

    1. **解析XML**:DOM4J可以读取XML文件,将其转换为一个树形结构,即Document对象。解析器有SAX和DOM两种模式,SAX是事件驱动的,适用于大文件,而DOM则将整个文档加载到内存中,适合小文件。 2. **创建XML**:DOM4...

    dom4j解析xml详解

    DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时的强大工具。DOM4J的最大亮点在于其简洁易用的API...

    XML解析技术DOM4J解析

    DOM4J提供了通过其API和标准DOM接口并行访问文档的能力,这意味着开发者可以在不同线程中安全地读取和修改XML文档,增强了多线程环境下程序的并发性能。 **5. 高度可定制的API** 尽管DOM4J的API相对复杂,但它提供...

    dom4j---xml解析jar包

    **DOM4J——XML解析库详解** XML(eXtensible Markup Language)作为一种标记语言,广泛应用于数据交换、配置文件和文档存储等领域。在Java环境中,解析XML文档时,我们通常会遇到各种库,其中DOM4J是一个非常流行...

    xmldom4j解析

    DOM4J是Java中一个非常强大的XML处理库,它提供了丰富的API来操作XML文档,如读取、写入、修改以及查询XML。本教程将深入探讨XML DOM4J解析的相关知识点。 一、DOM4J基本概念 DOM4J是一种灵活的Java API,其设计...

    java解析XML dom4j dom4j-1.6.1.jar

    通过上述内容,我们了解了dom4j的基本用法,包括解析、遍历、修改和序列化XML文档,以及使用XPath进行节点查询。在实际开发中,这些功能可以极大地简化XML处理任务。尽管dom4j-1.6.1.jar是一个较旧的版本,但其核心...

    Dom4j遍历解析XML

    Dom4j 遍历解析 XML Dom4j 是一个基于 Java 的 XML 解析库,提供了广泛的 XML 解析功能。Dom4j 遍历解析 XML 是指使用 Dom4j 库来解析和遍历 XML 文档,提取其中的元素、属性和值。 在 Dom4j 中,遍历 XML 文档...

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

    **正文** Dom4j是一个非常流行的Java库,用于处理XML文档。它提供了灵活且功能强大的API,使得XML的解析...在实际项目中,Dom4j常用于读取和解析配置文件,因为它的API简洁且易于理解,大大简化了XML数据的处理工作。

    DOM4J xml解析工具

    DOM4J作为XML解析工具,其核心功能包括: 1. **解析XML文档**:DOM4J可以使用SAX或DOM方式解析XML文件。SAX是事件驱动的解析器,适用于大文件,而DOM解析会将整个文档加载到内存,适合小文件。DOM4J的灵活性在于,...

    DOM4J 解析XML

    **DOM4J解析XML** DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效且功能丰富的API,使得XML的读取、创建、修改和查询变得简单易行。DOM4J的主要特点包括对XPath的支持、事件驱动的解析、以及与...

    dom4j解析XML所需jar包

    在XML解析领域,DOM4J主要涉及以下知识点: 1. **DOM4J API**:DOM4J提供了一组直观的类和接口来操作XML文档,如`Element`代表XML元素,`Attribute`代表属性,`Document`表示整个XML文档,还有`Namespace`处理命名...

    dom4j解析xml

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

    xml 三种解析方式dom,sax,dom4j

    在提供的压缩包中,包含了关于这三种解析方式的代码示例,你可以参考这些代码了解如何在Java环境中使用DOM、SAX和DOM4J进行XML解析。通过阅读和理解这些示例,你可以更好地掌握XML解析技术,并根据项目需求选择合适...

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

    - **SAX阅读器**:对于大型XML文件,DOM4J也支持SAX解析,它按事件驱动的方式逐行读取XML,仅处理当前需要的部分,降低了内存需求。可以使用`SAXReader`类进行SAX解析。 **3. XPath查询** DOM4J的XPath支持使得...

    XML文件解析的_DOM4J-最新jar

    1. **XML解析**:DOM4J支持多种解析方式,如DOM、SAX和StAX。其中,DOM(Document Object Model)是将整个XML文档加载到内存中形成一棵树形结构,便于遍历和操作;SAX(Simple API for XML)是事件驱动的解析器,...

    dom4j读取XML,解析XML简单示例

    在本示例中,我们将探讨如何利用DOM4J来读取和解析XML文件,以及如何通过`XMLTest.java`这个示例来理解DOM4J的基本用法。 首先,`XMLTest.java`是一个包含DOM4J操作XML的代码实例。通常,这样的程序会包含以下步骤...

    使用dom4j和jaxen解析xml

    **dom4j** 是一个非常灵活且功能强大的Java XML API,它提供了全面的XML解决方案,包括XML的读取、写入、修改以及XPath查询等功能。dom4j的核心思想是基于DOM模型,但比DOM更轻量级,性能更好。它支持事件驱动和SAX...

    利用DOM4J解析SOAP的简单示例

    DOM4J是一个强大的Java库,用于处理XML文档,包括读取、写入、修改和解析。本篇文章将深入探讨如何利用DOM4J解析SOAP消息中的元素,以便在实际项目中进行有效的数据提取和操作。 首先,理解SOAP消息的结构至关重要...

Global site tag (gtag.js) - Google Analytics