首先,到http://www.dom4j.org/dom4j-1.6.1/下载dom4j组件,
如果网页已过期的话,也可以到http://download.csdn.net/detail/u014771464/9399356我的资源里面免费下载
拥有了 dom4j-1.6.1 组件之后,将 dom4j-1.6.1.jar 文件和lib文件夹下的 jaxen-1.1-beta-6.jar 文件这两个 jar 包复制后粘贴到 项目的 lib 文件夹下。
接着,说一下用java代码创建xml文件的步骤:
1)创建xml文档对象:
Document document=DocumentHelper.createDocument();//DocumentHelper是一个工具类,类似于一个工厂(不懂工厂模式的自己查一下相关知识,有助于今后开发程序)
2)创建根节点
Element root=DocumentHelper.createElement("root");//创建一个普通节点
document.setRootElement(root);//将普通节点设置为根节点
3)创建子节点
Element descript=root.addElement("descript");//为根节点添加一个普通的子节点
4)为节点添加属性
descript.addAttribute("id", "1");//descript节点的属性 id 的值为 1
5)为结点添加内容
descript.setText("上海?");
创建完之后还得输出该xml文档到磁盘上,这样用户能看到,输出xml文件的步骤:
1)设置输出文档的格式:
OutputFormat format=OutputFormat.createPrettyPrint();//createPrettyPrint()方法指定xml文档的格式为缩进方式
format.setEncoding("utf-8");//设置文档的编码方式
2)创建输出流,指定输出的文件名和路径
FileOutputStream outFile=new FileOutputStream("test.xml");//test.xml文件会生成到当前项目的直接子目录下
3)输出xml文件
XMLWriter xmlWriter=new XMLWriter(outFile,format);//实例化xml输出流对象
xmlWriter.write(document); //向下,xml输出流写入数据
4)关闭流
outFile.close();
xmlWriter.close();
最后,附上一个能运行的简单的demo小程序:
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Dom4jTest {
public static void main(String args[]){
Document document=DocumentHelper.createDocument();
Element root=DocumentHelper.createElement("root");
document.setRootElement(root);
Element descript=root.addElement("descript");
descript.addAttribute("id", "1");
descript.setText("上海?");
OutputFormat format=OutputFormat.createPrettyPrint();//createPrettyPrint()方法指定xml文档的格式为缩进方式
format.setEncoding("utf-8");
try{
FileOutputStream outFile=new FileOutputStream("test.xml");
XMLWriter xmlWriter=new XMLWriter(outFile,format);
xmlWriter.write(document);
outFile.close();
xmlWriter.close();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(UnsupportedEncodingException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
}