使用Dom4j生成xml文件(utf-8编码)
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编码)的更多相关文章
- 使用Dom4j生成xml文件
场景:使用dom4j生成以下xml文件 <?xml version="1.0" encoding="UTF-8"?> <result> ...
- Java利用dom4j生成xml文件、解析XML
package com.fq.fanqi; import java.io.File;import java.io.FileWriter;import java.io.IOException;impor ...
- JavaWeb_使用dom4j解析、生成XML文件
dom4j 官网 xml解析DOM文档对象模型(树形结构) DOM方式解析:把xml文档加载到内存形成树形结构,可以进行增删改的操作 Learn 使用dom4j解析文件"NewFile. ...
- Java中使用DOM4J来生成xml文件和解析xml文件
一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...
- Dom4J生成xml和包含CDATA问题
在 java注解生成xml和包含CDATA问题里面做了介绍,这里直接贴代码. 1:生成xml的java文件 package com.dufy.test.xml; import java.io.File ...
- 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题
首先 关于dom4j的API,有如下: 当然 其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...
- 使用XML序列化器生成XML文件和利用pull解析XML文件
首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...
- PHP中的生成XML文件的4种方法(转)
<?xml version="1.0" encoding="utf-8"?> <article> <item> <ti ...
- 使用DOM4J解析XMl文件与读取XML文件
XML文件 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...
随机推荐
- AndroidStudio3.0打开Android Device Monitor
相信很多更新了AndroidStudio3.0的小伙伴会发现无法在工具栏的的Tools->Android->device monitor,打开DeviceMonitor. 今天偶然看到 G ...
- Day6 - J - Cartesian Tree POJ - 2201
Let us consider a special type of a binary search tree, called a cartesian tree. Recall that a binar ...
- println 与 print区别
------------恢复内容开始------------ println 与 print区别: 1.print输出之后不换行,如下: public class Newstart { publ ...
- Spring配置数据源以及hibernate
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- RadioGroup的使用
前言: 使用RadioGroup就可以在选择情况多的时候,简化代码 RadioGroup 使用互斥选择时,会使用RadioGroup标签下面RadioButton,如下面的代码:(这样写下来,男和女的 ...
- Oracle rownum用法、分页
转载:ORACLE 中ROWNUM用法总结! 第一部分 1.对于 Oracle 的 rownum 问题,很多资料都说不支持 >, >= , =, between...and ,只能用 ...
- 【转载】Asp .Net Web Api路由路径问题
原文章地址:https://www.cnblogs.com/devtester/p/8897302.html MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一 ...
- 实验吧-杂项-flag.xls(notepad++查找)、保险箱(linux文件分解、密码破解)
flag.xls 下载文件,用notepad++打开,查找flag就能找到flag. 保险箱(linux文件分解.密码破解) 将图片保存下来,用kali的binwalk分析,发现有rar文件,然后用f ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 引用
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量 C++ 引用 vs 指针 引用很容易与指针混淆,它们之间有三个主要的 ...
- ORM——Mybatis
引言 ORM 是 blablabla…… Mybatis知识点