JAVA生成xml文件
- 准备pom文件所需要的依赖
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
- 总体思路就是,先声明要生成的文件名称,接着创建document对象,然后添加节点的内容,xml内容添加完之后,初始化xml模板,设置编码格式,生成xml文件,将之前添加的节点写入xml中,最后将生成的xml文件放到想要的目录下。看代码实现:
public static void main(String[] args) {
String fileName = "比奇堡";
Document document = DocumentHelper.createDocument();
Element world= document.addElement("world");
Element animal= world.addElement("animal");
Element haimian= animal.addElement("haimian");
Element hName= animal.addElement("hName");
hName.setText("海绵宝宝");
Element hSex= animal.addElement("hSex");
hSex.setText("男");
Element paidaxing= animal.addElement("paidaxing");
Element pName= animal.addElement("pName");
pName.setText("派大星");
Element pSex= animal.addElement("pSex");
pSex.setText("男");
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
format.setNewLineAfterDeclaration(false);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
try {
XMLWriter xmlWriter = new XMLWriter(stream, format);
xmlWriter.write(document);
xmlWriter.close();
}catch (IOException e){
System.out.println("失败");
}
try (FileOutputStream fos = new FileOutputStream("E://海绵宝宝的家/菠萝/"+fileName + ".dat")) {
fos.write(stream.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
- 看下生成的效果:
<?xml version="1.0" encoding="UTF-8"?>
<world>
<animal>
<haimian>
<hName>海绵宝宝</hName>
<hSex>男</hSex>
</haimian>
<paidaxing>
<pName>派大星</pName>
<pSex>男</pSex>
</paidaxing>
</animal>
</world>
- 总结
- 通过DocumentHelper的静态方法createDocument创建一个Document对象
创建节点:Document对象的addElement方法 返回Element对象
节点添加内容:Element对象的setText、add方法
创建XMLWriter对象 (new) (可使用输出流、OutputFormat作为参数,分别给出输出地址和格式)
XMLWriter对象的setEscapeText方法可以设置字符是否转义,默认true(转义)
调用XMLWriter对象的write方法,Document对象作为参数
关闭XMLWriter对象,以及相关资源的close操作。