xml文件内容:

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

<result>
<code>1</code>
<data>
<person>
<name>张三</name>
<id>1</id>
<url>http://192.168.191.1:9999/TestWeb/c7fe21616d2a5e2bd1e84bd453a5b30f.jpg</url>
<courses>
<course>
<courseName>语文</courseName>
<courseMarks>90</courseMarks>
<courseId>1</courseId>
</course>
<course>
<courseName>数学</courseName>
<courseMarks>80</courseMarks>
<courseId>2</courseId>
</course>
<course>
<courseName>英语</courseName>
<courseMarks>70</courseMarks>
<courseId>3</courseId>
</course>
</courses>
</person>
<person name="李四" id="2" url="http://192.168.191.1:9999/TestWeb/4052858c526002a712ef574ccae1948f.jpg">
<course courseName="语文" courseMarks="91" courseId="1"/>
<course courseName="数学" courseMarks="82" courseId="1"/>
<course courseName="英语" courseMarks="73" courseId="1"/>
</person>
</data>
</result>

Java代码实现:

import java.io.*;
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.XMLWriter; public class TestXML { public static void main(String[] args) {
OutputStreamWriter out = null;
try {
out = new OutputStreamWriter(new FileOutputStream("src/foo.xml"),"UTF-8");//写入文件(编码utf-8格式),文件路径要确认存在
createDocument().write( out );
// 字符串控制台输出
OutputFormat format = OutputFormat.createPrettyPrint(); //转换成字符串
format.setEncoding("UTF-8");
XMLWriter writer = new XMLWriter( System.out, format );
writer.write( createDocument() );
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out!=null) {
try {
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} public static Document createDocument() {
Document document = DocumentHelper.createDocument(); Element root = document.addElement( "result" );
root.addElement("code").addText("1");
Element data = root.addElement("data"); Element person1 = data.addElement( "person" );
person1.addElement( "name" ).setText("张三");
person1.addElement( "id" ).setText("1");
person1.addElement( "url" ).setText("http://192.168.191.1:9999/TestWeb/c7fe21616d2a5e2bd1e84bd453a5b30f.jpg");
Element courses1 =person1.addElement( "courses" );
Element course1 = courses1.addElement( "course" );
course1.addElement( "courseName" ).setText("语文");
course1.addElement( "courseMarks" ).setText("90");
course1.addElement( "courseId" ).setText("1");
Element course2 = courses1.addElement( "course" );
course2.addElement( "courseName" ).setText("数学");
course2.addElement( "courseMarks" ).setText("80");
course2.addElement( "courseId" ).setText("2");
Element course3 = courses1.addElement( "course" );
course3.addElement( "courseName" ).setText("英语");
course3.addElement( "courseMarks" ).setText("70");
course3.addElement( "courseId" ).setText("3"); Element person2 = data.addElement( "person" )
.addAttribute( "name", "李四" )
.addAttribute( "id", "2" )
.addAttribute("url", "http://192.168.191.1:9999/TestWeb/4052858c526002a712ef574ccae1948f.jpg");
person2.addElement( "course" )
.addAttribute( "courseName", "语文" )
.addAttribute( "courseMarks", "91" )
.addAttribute( "courseId", "1" );
person2.addElement( "course" )
.addAttribute( "courseName", "数学" )
.addAttribute( "courseMarks", "82" )
.addAttribute( "courseId", "1" );
person2.addElement( "course" )
.addAttribute( "courseName", "英语" )
.addAttribute( "courseMarks", "73" )
.addAttribute( "courseId", "1" ); return document;
} }

转载地址:http://www.cnblogs.com/zhi-hao/p/4016363.html

使用Dom4j生成xml文件(utf-8编码)的更多相关文章

  1. 使用Dom4j生成xml文件

    场景:使用dom4j生成以下xml文件 <?xml version="1.0" encoding="UTF-8"?> <result> ...

  2. Java利用dom4j生成xml文件、解析XML

    package com.fq.fanqi; import java.io.File;import java.io.FileWriter;import java.io.IOException;impor ...

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

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

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

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

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

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

  6. 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题

    首先 关于dom4j的API,有如下: 当然  其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...

  7. 使用XML序列化器生成XML文件和利用pull解析XML文件

    首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...

  8. PHP中的生成XML文件的4种方法(转)

    <?xml version="1.0" encoding="utf-8"?> <article> <item> <ti ...

  9. 使用DOM4J解析XMl文件与读取XML文件

    XML文件 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...

随机推荐

  1. 6.安装telnet服务

    yum list telnet* 列出telnet相关的安装包 yum install telnet-server 安装telnet服务 yum install telnet.* 安装telnet客户 ...

  2. oracle进入CDB

    第一步:使用sys登陆 CONN sys/change_on_install AS SYSDBA; 第二步:查看现在的容器名称 SHOW con_name; 第三步:改变容器为PDB ALTER SE ...

  3. lamp-module

    要求:    (1) 三者分离于两台主机: (2) 一个虚拟主机用于提供phpMyAdmin:另一个虚拟主机用于提供wordpress: (3) xcache (4) 为phpMyAdmin提供htt ...

  4. ping不通www.baidu.com,但可以访问www.baidu.com网页

    https://blog.csdn.net/stpeace/article/details/45116425 了解网络的人, 基本上都用过ping命令, 这个优秀的小工具通常能非常靠谱地检测网络的连通 ...

  5. Visual Studio Code 断点调试配置方法(请按我的步骤 一定可以做到)

    1 visual studio code 的 extentions 里安装插件 debugger for chrome2 devtool: 'eval-source-map', cacheBustin ...

  6. 英语 - take的短语

    take care of  照顾 take place  发生 take action  行动 take over  接管 take in   欺骗(某人) take up   拿起 take awa ...

  7. LINUX——磁盘管理

    硬盘种类 SATA硬盘:用SATA接口的硬盘又叫串口硬盘,是以后PC机的主流发展方向,因为其有较强的纠错能力,错误一经发现能自动纠正,这样就大大的提高了数据传输的安全性.新的SATA 使用了差动信号系 ...

  8. Vulkan SDK 之 Graphics Pipeline

    A graphics pipeline consists of shader stages, a pipeline layout, a render pass, and fixed-function ...

  9. 五十八、SAP中常用预定义数据类型

    一.SAP中常用预定义数据类型 注意事项如下: 1.默认的定义数据类型是CHAR. 2.取值的时候C型默认从左取,N型从右取,超过定义长度则截断. 3.C类型,可以赋值数值,也可以赋值字符,还可以混合 ...

  10. 三十四、在SAP的屏幕选择中,将英文替换成我们想要的文本内容

    一.我们在代码中定义了一个选择屏幕,但是对应的显示界面为英文 界面如下 二.我们选择[转到]-[文本元素] 三.默认的文本内容是问号和三个点 四.我们修改成我们需要的,并激活这个文本,如果不激活会丢失 ...