使用Dom4j生成xml文件
场景:使用dom4j生成以下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>
以下是实现代码:
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.XMLWriter; public class TestXML { public static void main(String[] args) {
FileWriter out = null;
try {
out = new FileWriter( "src/foo.xml" ); //写入文件
createDocument().write( out ); OutputFormat format = OutputFormat.createPrettyPrint(); //转换成字符串
format.setEncoding("UTF-8");
XMLWriter writer = new XMLWriter( System.out, format );
writer.write( createDocument() );
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if (out!=null) {
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
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;
} }
使用Dom4j生成xml文件的更多相关文章
- 使用Dom4j生成xml文件(utf-8编码)
xml文件内容: <?xml version="1.0" encoding="UTF-8"?> <result> <code> ...
- 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】使用dom4j处理XML文件--测试过程遇到的问题
首先 关于dom4j的API,有如下: 当然 其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...
- 使用DOM4J解析XMl文件与读取XML文件
XML文件 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...
- Dom4J生成xml和包含CDATA问题
在 java注解生成xml和包含CDATA问题里面做了介绍,这里直接贴代码. 1:生成xml的java文件 package com.dufy.test.xml; import java.io.File ...
- Java生成XML文件与XML文件的写入
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6651643.html 既然能在代码中解析XML文档获取数据,当然也能通过代码动态生成XML文档了. 与解析X ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
随机推荐
- 每次都觉得很神奇的JS
匿名,函数对象... var staff = [ {name: 'abruzzi', age: 24}, {name: 'bajmine', age: 26}, {name: 'chris', age ...
- struts2 request内幕 为什么在struts2用EL表达式可以取值
不知道大家有没有想过这样一个问题:为什么在action中的实例变量,没有使用request.setAttribute()方法将值添加到request范围内,却能在jsp中用EL表达式取出? 众所周知, ...
- 关于DataTables一些小结
最近项目中使用了DataTables,故小结了一下. 导入CSS文件<link rel="stylesheet" href="<%=base %>/js ...
- ubuntu装机
备份: .bashrc profile .vimrc exports defults/ 各种workspace中的源码 goagent/ 重转后安装: apt-get install openjdk- ...
- NFC(12)使用Android Beam技术传输文本数据及它是什么
Android Beam技术是什么 Android Beam的基本理念就是两部(只能是1对1,不可像蓝牙那样1对多)NFC设备靠近时(一般是背靠背),通过触摸一部NFC设备的屏幕,将数据推向另外一部N ...
- 【HDOJ】4691 Front compression
后缀数组基础题目,dc3解. /* 4691 */ #include <iostream> #include <sstream> #include <string> ...
- 254 shades of grey
254 shades of grey Description: Why would we want to stop to only 50 shades of grey? Let's see to ho ...
- 函数fsp_seg_inode_page_get_nth_inode
#define FSEG_ARR_OFFSET (FSEG_PAGE_DATA + FLST_NODE_SIZE) #define FSEG_PAGE_DATA FIL_PAGE_DATA #defi ...
- 十个免费的Web压力测试工具
两天,jnj在本站发布了<如何在低速率网络中测试 Web 应用>,那是测试网络不好的情况.而下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的W ...
- JSOI2007文本生成器
1030: [JSOI2007]文本生成器 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1613 Solved: 656[Submit][Statu ...