JDOM生成XML文件的基本流程
创建根节点(Element对象)
创建Document对象,以根节点作为方法参数
创建子节点(Element对象)
使用Element对象的addContent(element)方法添加子节点,setText()方法添加文本
创建XMLOutputter对象,使用output()方法输出XML文件,此方法有两个参数(第一个为Doucment对象,第二个为OutputStream)
示例
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jdom2.CDATA;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class JDOMCreateXML {
/**
* @param args
*/
public void createXML(){
//1.生成根结点
Element rss=new Element("rss");
//向根结点添加属性
rss.setAttribute("version","2.0");
//2.生成一个Document对象
Document document = new Document(rss);
//3.生成channel子节点
Element channel = new Element("channel");
//添加channel子节点
rss.addContent(channel);
//生成title子节点
Element title=new Element("title");
//添加文本
// title.setText("中国新闻");
//有特殊符号需要转义时,使用CDATA
CDATA text=new CDATA("< 中国新闻 >");
title.addContent(text);
//添加title子节点
channel.addContent(title);
//创建Format对象
Format format=Format.getCompactFormat();
//设置换行
format.setIndent("");
//解决乱码问题
// format.getPrettyFormat().setEncoding("UTF-8");
//创建XMLOutputter对象 以字节流输出一个JDOM document
XMLOutputter outputer=new XMLOutputter(format);
try {
//使用XMLOutputter对象将Doucument对象转换成xml文档
outputer.output(document, new FileOutputStream(new File("rssnews.xml")));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new JDOMCreateXML().createXML();
}
}
生成的XML文件
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[< 中国新闻 >]]></title>
</channel>
</rss>