使用org.dom4j.Element

创建xml

/**
* 生成Service.xml文件
* @param tran 交易对象
* @param filePath 文件夹路径
*/
public static void exportServiceXml(List<Transaction> tranList,String filePath){
String fileurl = filePath + "/Service.xml";
Document dom = DocumentHelper.createDocument();//添加节点用addElement,添加节点属性用addAttribute,未节点赋值用setText
Element ServiceTab = dom.addElement("ServiceTab"); //ServiceTab
Transaction tran = null;
Iterator<Transaction> it = tranList.iterator();
while(it.hasNext()){
tran = it.next();
String ID = tran.getTransID().substring(2);
String desc = tran.getTransName(); Element Service = ServiceTab.addElement("Service");//Service
Service.addAttribute("Name", ID);
Service.addAttribute("SvcDesc", desc);
Element NodeClass = Service.addElement("NodeClass"); //NodeClass
NodeClass.addAttribute("Name", "");
NodeClass.addAttribute("Desc", "");
Element ExtCodeExpr = Service.addElement("ExtCodeExpr");
ExtCodeExpr.setText("<![CDATA[]]>");
} ServiceTab.addAttribute("RecNum",String.valueOf(tranList.size()));
writeXmlFile(dom,fileurl);
}

生成xml格式

<?xml version="1.0" encoding="UTF-8"?>

<ServiceTab RecNum="1">
<Service Name="001"
SvcDesc="测试">
<NodeClass Name="未分类"
Desc="未分类"/>
<ExtCodeExpr><![CDATA[]]></ExtCodeExpr>
</Service>
</ServiceTab>

输出xml文件

/**
Document dom = DocumentHelper.createDocument();//添加节点用addElement,添加节点属性用addAttribute,未节点赋值用setText
*/
public static void writeXmlFile(Document dom,String fileurl){
//设置生成xml格式
OutputFormat format = OutputFormat.createPrettyPrint();
// 设置编码格式
format.setEncoding("UTF-8");
File file = new File(fileurl);
XMLWriter writer = null;
try {
writer = new XMLWriter(new FileOutputStream(file),format);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
writer.setEscapeText(false); //关闭字符串中xml特殊字符转义
try {
writer.write(dom);
} catch (IOException e) {
e.printStackTrace();
}
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}

dom4j——使用dom4j生成xml的更多相关文章

  1. Dom4j解析、生成Xml

    1以下代码未Xml的解析和生成代码 <?xml version="1.0" encoding="UTF-8"?> <users> < ...

  2. maven中使用dom4j解析、生成XML的简易方法

    此片文章主要写一些关于如何在maven工程中使用dom4j来解析或生成XML的建议方法,实际可使用的写法不仅限于如下所写的样例代码.此处进攻快速入手和提供思路使用. 首先配置pom.xml中的依赖的包 ...

  3. JavaWeb_使用dom4j解析、生成XML文件

    dom4j 官网 xml解析DOM文档对象模型(树形结构) DOM方式解析:把xml文档加载到内存形成树形结构,可以进行增删改的操作 Learn   使用dom4j解析文件"NewFile. ...

  4. dom4j解析以及生成xml字符串测试

    public static void main(String[] args) { String xmlStr = "<ybjcVo>"+ "<zbGri ...

  5. 利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合

    转自:http://blog.csdn.net/zhao19861029/article/details/8473245 首先实现生成对应的JAVAbean的XML文件方法 /** * DMO4J写入 ...

  6. Dom4J生成xml和包含CDATA问题

    在 java注解生成xml和包含CDATA问题里面做了介绍,这里直接贴代码. 1:生成xml的java文件 package com.dufy.test.xml; import java.io.File ...

  7. 使用DOM4J生成XML文档

    package xml; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.List; imp ...

  8. dom4j 为生成 XML 的文件添加 xmlns(命名空间) 属性

    dom4j 为生成 XML 的文件添加 xmlns(命名空间) 属性 分类: Java2011-06-03 16:14 976人阅读 评论(0) 收藏 举报 xml扩展语言 今天在开发sitemap地 ...

  9. Java中使用DOM4J来生成xml文件和解析xml文件

    一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...

随机推荐

  1. 移动端上传图片(引入exif-js,图片被压缩为base64)

    <template> <div class="vue-box"> <img :src="imgUrl" alt="&qu ...

  2. Ubuntu+FastDFS+Nginx

    一.安装libfastcommon 1.wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz 2.tar - ...

  3. 第 38 章 OCR - Optical Character Recognition

    38.1. Tesseract 查找Tesseract安装包 $ apt-cache search Tesseract ocrodjvu - tool to perform OCR on DjVu d ...

  4. Radix_Sort

    public class Radix_sort { public static void sort(int[] arrays,int radix){ int n = 1; int length = a ...

  5. 数学--数论--HDU 6063 RXD and math (跟莫比乌斯没有半毛钱关系的打表)

    RXD is a good mathematician. One day he wants to calculate: output the answer module 109+7. p1,p2,p3 ...

  6. 70行实现Promise核心源码

    70行实现Promise核心源码 前言: ​ 一直以来都是只会调用Promise的API,而且调API还是调用axios封装好的Promise,太丢人了!!!没有真正的去了解过它的原理是如何实现的,自 ...

  7. 金钱货币用什么类型--(Java)

    0.前言 项目中,基本上都会涉及到金钱:那么金钱用什么数据类型存储呢? 不少新人都会认为用double,因为它是双精度类型啊,或者float, 其实,float和double都是不能用来表示精确的类型 ...

  8. python学习之 %s %d 以及%变量名的含义

    %age是对前面age变量的引用,%d是将这个变量名为age的值加到其中,但是如果变量值为字符串类型,则这里应该写成%s 也就是说当变量值为数值类型,而且必须是整型类型 应该使用%d 当变量值为字符串 ...

  9. 【Spark】DataFrame关于数据常用操作

    文章目录 DSL语法 概述 实例操作 SQL语法 概述 实例操作 DSL语法 概述 1.查看全表数据 -- DataFrame.show 2.查看部分字段数据(有4种方法)  (1) DataFram ...

  10. zabbix-agent客户端安装与配置

    zabbix-agent客户端安装与配置 下载abbix-agent客户端源码软件包 解压agent源码包,并且切换到解压目录. [root@localhost ~]# tar -zxf zabbix ...