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文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...
DOM4j则是一个强大的Java库,用于处理XML文档,提供了丰富的API来实现XML的读取、写入、修改等操作。在这个示例中,我们将深入探讨如何利用Maven管理和DOM4j来操作XML文件。 首先,让我们了解一下Maven。Maven是...
这篇博客“DOM4J读取XML文件”可能详细介绍了如何利用DOM4J库来操作XML文档,下面我们将深入探讨DOM4J的相关知识点。 1. **DOM4J简介** DOM4J是一个开源的Java库,它基于DOM模型,但比标准的Java DOM API更易于...
5. **事件驱动解析(SAX)**:除了传统的DOM解析外,DOM4J还支持SAX解析器,这种解析方式适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 6. **Namespace支持**:DOM4J提供了对XML命名空间的全面...
在“dom4j解析xml文件(增删改查)”这个主题中,我们将深入探讨如何使用DOM4J来实现XML文档的四种基本操作:增加元素、删除元素、更新元素内容以及查询元素。 首先,让我们了解DOM4J的基本用法。在解析XML文件时,...
### 使用Dom4j读取XML文件的方法详解 #### 一、引言 在Java开发过程中,经常需要处理各种格式的数据文件,其中XML(可扩展标记语言)作为一种标准的数据交换格式被广泛使用。为了高效地解析和操作XML文档,开发者...
在本示例中,我们将深入探讨如何使用DOM4J解析XML文件,以`CacheInit.java`作为我们的核心代码示例,并参考`emailTemplateConfig.xml`作为实际操作的对象。 首先,让我们了解XML(eXtensible Markup Language)。...
基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。
- **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...
Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库来创建XML文档,包括初始化文档、添加元素、设置属性、插入文本以及最终保存文档至...
**DOM4J 读取XML字符串** DOM4J 是一个非常强大的...综上所述,DOM4J 是处理 XML 的强大工具,尤其适合于读取和操作 XML 字符串。通过学习和实践,你可以更高效地管理 XML 数据,提升你的 Java 应用程序的功能和性能。
接下来,我们将创建一个`SAXReader`实例,它是DOM4J中的解析器,用于读取XML文件: ```java SAXReader reader = new SAXReader(); ``` 然后,使用`reader`读取XML文件并获取`Document`对象,`Document`代表整个XML...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除...
本文将详细介绍使用dom4j读取XML文件的四种常见方法,并通过示例代码帮助读者更好地理解和掌握这些技术。 #### 方法一:使用`SAXReader`与`elementIterator` **方法原理**: 此方法首先利用`SAXReader`读取XML文档...
DOM4J提供了几个核心类和接口来帮助我们操作XML文档: 1. **Document**: 表示整个XML文档。 2. **Element**: 表示XML文档中的元素。 3. **Attribute**: 表示元素的属性。 4. **Text**: 表示元素中的文本内容。 5. *...
本文将深入探讨如何使用DOM4J库来读取XML文件。 首先,让我们理解DOM4J的基本概念。DOM4J是基于DOM模型的,DOM(Document Object Model)是一种标准的API,用于解析XML文档并将其表示为一棵由节点组成的树形结构。...
本文将详细介绍如何使用DOM4J来读取XML文件中的信息。 ### DOM4J读取XML详解 #### 初始化资源路径 代码片段中的`URL url = this.getClass().getClassLoader().getResource("/")`这一行是获取类加载器的根目录路径...