`

Dom4j操作xml文件

XML 
阅读更多
package com.test.xml;   
  
import java.io.File;   
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.SAXReader;   
import org.dom4j.io.XMLWriter;   
import org.dom4j.tree.DefaultDocument;   
  
public class BuildXml {   
  
    public static void main(String[] args) {   
           
        BuildXml xml=new BuildXml();   
           
        String fileName="xml/bu.xml";   
                  String[] itemName = { "航空加油站", "纪检中心", "油库中心", "其他" };   
        String[] sheehCod = { "1.1.1", "1.1.2", "1.1.3" };
        xml.TestXml(fileName,itemName,sheehCod);   
    }   
       
       
    public void TestXml(String fileName, String[] itemName, String[] sheehCod){          
               
        //建立doc对象   
        Document doc=DocumentHelper.createDocument();   
        //建立xml文档的Record根对象   
        Element recordElement=doc.addElement("Record");   
        //为Record根建立一个Head节点   
        Element headElement=recordElement.addElement("Head");   
        //为Record根建立一个body节点   
        Element bodyElement=recordElement.addElement("Body");   
        //为Head节点添加一些子节点   
        Element codEl=headElement.addElement("Cod");   
        codEl.setText("1");   
        Element recEl=headElement.addElement("Recitified");   
        recEl.setText("是");   
           
        
        /** 叶子节点编号*/
         addParamList(bodyElement, sheehCod, itemName);

           
           
        //格式化输出xml文档,并解决中文问题   
        try {   
            FileWriter fileWriter=new FileWriter(fileName);   
            //设置文件编码格式   
//OutputFormat.createPrettyPrint();设置了创建xml文件的格式为缩进的     
            OutputFormat xmlFormat=OutputFormat.createPrettyPrint();     
      //这里不知道为什么设置编码格式为utf-8就会出现xml里没有中文显示 ,谁知道请说下.谢谢   
            xmlFormat.setEncoding("gbk");   
            //创建写文件方法   
            XMLWriter xmlWriter = new XMLWriter(fileWriter,xmlFormat);   
            //写入文件   
            xmlWriter.write(doc);              
            //关闭   
            xmlWriter.close();   
        } catch (IOException e) {   
            // TODO Auto-generated catch block   
            e.printStackTrace();   
        }   
           
    }   
  
    private void addParamList(Element bodyEl, String[] sheehCod,
			String[] itemName) {
		/**有多少个子节点就产生多少个对象*/
		for (int i = 0; i < sheehCod.length; i++) {
			Element paramListEl = bodyEl.addElement("ParamList");
			Element sheehEl = paramListEl.addElement("SheehCod");
			sheehEl.setText(sheehCod[i]);
			//调用方法
			addItem(itemName, paramListEl);
		}
	}

	private void addItem(String[] itemName, Element paramListEl) {
		Element paramEl = paramListEl.addElement("Param");
		for (int i = 0; i < itemName.length; i++) {
			Element itemNameEl = paramEl.addElement("ItemName");
			itemNameEl.setText(itemName[i]);
			if (i < itemName.length - 1) {
				paramEl = paramListEl.addElement("Param");
			}
		}
	} 
}   
//代码运行产生XML文档如下:
<?xml version="1.0" encoding="gbk"?>

<Record>
  <Head>
    <Cod>1</Cod>
    <Recitified>是</Recitified>
  </Head>
  <Body>
    <ParamList>
      <SheehCod>1.1.1</SheehCod>
      <Param>
        <ItemName>航空加油站</ItemName>
      </Param>
      <Param>
        <ItemName>纪检中心</ItemName>
      </Param>
      <Param>
        <ItemName>油库中心</ItemName>
      </Param>
      <Param>
        <ItemName>其他</ItemName>
      </Param>
    </ParamList>
    <ParamList>
      <SheehCod>1.1.2</SheehCod>
      <Param>
        <ItemName>航空加油站</ItemName>
      </Param>
      <Param>
        <ItemName>纪检中心</ItemName>
      </Param>
      <Param>
        <ItemName>油库中心</ItemName>
      </Param>
      <Param>
        <ItemName>其他</ItemName>
      </Param>
    </ParamList>
    <ParamList>
      <SheehCod>1.1.3</SheehCod>
      <Param>
        <ItemName>航空加油站</ItemName>
      </Param>
      <Param>
        <ItemName>纪检中心</ItemName>
      </Param>
      <Param>
        <ItemName>油库中心</ItemName>
      </Param>
      <Param>
        <ItemName>其他</ItemName>
      </Param>
    </ParamList>
  </Body>
</Record>

分享到:
评论

相关推荐

    DOM4j操作xml文件

    DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件

    dom4j读写xml文档实例

    要使用DOM4J读取XML文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...

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

    DOM4j则是一个强大的Java库,用于处理XML文档,提供了丰富的API来实现XML的读取、写入、修改等操作。在这个示例中,我们将深入探讨如何利用Maven管理和DOM4j来操作XML文件。 首先,让我们了解一下Maven。Maven是...

    DOM4J读取XML文件

    这篇博客“DOM4J读取XML文件”可能详细介绍了如何利用DOM4J库来操作XML文档,下面我们将深入探讨DOM4J的相关知识点。 1. **DOM4J简介** DOM4J是一个开源的Java库,它基于DOM模型,但比标准的Java DOM API更易于...

    dom4j解析xml文件的压缩包

    5. **事件驱动解析(SAX)**:除了传统的DOM解析外,DOM4J还支持SAX解析器,这种解析方式适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 6. **Namespace支持**:DOM4J提供了对XML命名空间的全面...

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

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

    详细介绍使用Dom4j读取xml文件的方法

    ### 使用Dom4j读取XML文件的方法详解 #### 一、引言 在Java开发过程中,经常需要处理各种格式的数据文件,其中XML(可扩展标记语言)作为一种标准的数据交换格式被广泛使用。为了高效地解析和操作XML文档,开发者...

    dom4j解析xml文件代码示例

    在本示例中,我们将深入探讨如何使用DOM4J解析XML文件,以`CacheInit.java`作为我们的核心代码示例,并参考`emailTemplateConfig.xml`作为实际操作的对象。 首先,让我们了解XML(eXtensible Markup Language)。...

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

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

    dom4j解析xml详解

    - **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...

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

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

    DOM4J 读取xml字符串

    **DOM4J 读取XML字符串** DOM4J 是一个非常强大的...综上所述,DOM4J 是处理 XML 的强大工具,尤其适合于读取和操作 XML 字符串。通过学习和实践,你可以更高效地管理 XML 数据,提升你的 Java 应用程序的功能和性能。

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

    接下来,我们将创建一个`SAXReader`实例,它是DOM4J中的解析器,用于读取XML文件: ```java SAXReader reader = new SAXReader(); ``` 然后,使用`reader`读取XML文件并获取`Document`对象,`Document`代表整个XML...

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

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

    使用dom4j读取xml四种方法

    本文将详细介绍使用dom4j读取XML文件的四种常见方法,并通过示例代码帮助读者更好地理解和掌握这些技术。 #### 方法一:使用`SAXReader`与`elementIterator` **方法原理**: 此方法首先利用`SAXReader`读取XML文档...

    dom4j解析xml

    DOM4J提供了几个核心类和接口来帮助我们操作XML文档: 1. **Document**: 表示整个XML文档。 2. **Element**: 表示XML文档中的元素。 3. **Attribute**: 表示元素的属性。 4. **Text**: 表示元素中的文本内容。 5. *...

    java中用dom4j读取xml

    本文将深入探讨如何使用DOM4J库来读取XML文件。 首先,让我们理解DOM4J的基本概念。DOM4J是基于DOM模型的,DOM(Document Object Model)是一种标准的API,用于解析XML文档并将其表示为一棵由节点组成的树形结构。...

    DOM4J读取XML

    本文将详细介绍如何使用DOM4J来读取XML文件中的信息。 ### DOM4J读取XML详解 #### 初始化资源路径 代码片段中的`URL url = this.getClass().getClassLoader().getResource("/")`这一行是获取类加载器的根目录路径...

Global site tag (gtag.js) - Google Analytics