<span style="font-size:18px;">@Test
public void createXML() throws Exception, FileNotFoundException{
Document dom=DocumentHelper.createDocument();//自己创建一个document对象
Element root=dom.addElement("citys");//创建的第一个节点就是root节点
Element cityE=root.addElement("city");
cityE.addAttribute("id", "0737");
cityE.addElement("city1").setText("湖南");
cityE.addElement("city2").setText("益阳");
Element cityEE=root.addElement("city");
cityEE.addAttribute("id", "0777");
cityEE.addElement("city1").setText("广州");
cityEE.addElement("city2").setText("深圳");
XMLWriter wr=new XMLWriter(new FileOutputStream("./src/xml/11.xml"));
wr.write(dom);
wr.close();</span><span style="font-size:14px;">
}</span>创建的xml文件<pre name="code" class="html"><?xml version="1.0" encoding="UTF-8"?>
<citys>
<city id="0737">
<city1>湖南</city1><city2>益阳</city2>
</city>
<city id="0777">
<city1>广州</city1><city2>深圳</city2>
</city>
</citys>
<span style="font-size:18px;">//存储文件 《方式一》 XMLWriter write=new XMLWriter(new FileOutputStream("./src/xml/2.xml")); write.write(dom); write.close();*/</span> 方式二:
/<span style="font-size:18px;">/存储方式二,可以指定格式,字符编码</span><span style="font-size:18px;"><span style="white-space:pre"> </span>紧凑的格式 OutputFormat format=OutputFormat.createPrettyPrint(); format.setEncoding("utf-8");//指定编码格式</span><span style="font-size:18px;">// XMLWriter wr=new XMLWriter(new FileOutputStream("./src/xml/2.xml"), format); // XMLWriter wr=new XMLWriter(System.out, format);//输出的方式不对,直接输出到控制台 XMLWriter wr=new XMLWriter(System.out);//输出的方式不对,直接输出到控制台,但是可以就没有解释 wr.write(dom); wr.close();</span></pre><pre name="code" class="html"><span style="font-size:18px;">/* <span style="white-space:pre"> </span> * 对于两种储存方式,各有好处,但是写到文件一般有的比较多,OutputFormat format=OutputFormat.createPrettyPrint(); <span style="white-space:pre"> </span> * 获得格式后,可以按指定的格式设置,当然也可以改变要写到什么位置才可以。 <span style="white-space:pre"> </span> */ </span> 5.对xml的读写,做了一个工具类
当项目中需要对xml文件操作时,可以采用这个工具。因为要实现共享,所以用到静态块。
package cn.hncu.contact.factory;
import java.io.FileOutputStream;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class DomFactory {
private static Document dom;//为了让document共享,必须要设置静态的,并且让其放在静态块里面
private static final String FILE_NAME = "./bin/cn/hncu/contact/xml/contact.xml";
static{
try {
SAXReader reader = new SAXReader();
dom = reader.read(FILE_NAME);
} catch (DocumentException e) {
throw new RuntimeException(e.getMessage(), e);
}
}
//获取的文件
public static Document getDocument(){
return dom;
}
//保存文件
public static void save(){
XMLWriter writer = null;
try {
writer = new XMLWriter( new FileOutputStream(FILE_NAME) );
writer.write( dom );
} catch (IOException e) {
throw new RuntimeException(e.getMessage(), e);
}finally{
if(writer!=null){
try {
writer.close();
} catch (IOException e) {
throw new RuntimeException("关流失败", e);
}
}}
}}
转载请注明原文链接。 文中有不妥或者错误的地方还望指出,以免误人子弟。 再次感谢您耐心的读完本篇文章。 希望大家多指教指教