您的位置:首页 > 编程语言 > Java开发

Java 内置XML写入操作简易教程

2016-10-04 00:00 274 查看
1.写入XML文件

package com.pan.xml;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;

/**
* Created by pan on 2016/10/4.
*/
public class WriteXML {

/**
* 生成document
*/
private Document formatXML() {
try {
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
document.setXmlVersion("1.0");

//XML的element
Element root = document.createElement("root");
root.setAttribute("rt", "ro");
//名字节点
Element name = document.createElement("name");
name.setTextContent("小花");

//年龄节点
Element age = document.createElement("age");
age.setAttribute("color", "red");

//添加到root
root.appendChild(name);
root.appendChild(age);

//添加到document
document.appendChild(root);
return document;
} catch (Exception e) {
e.printStackTrace();
return null;
}

}

/**
* 将document写入XML文件
*/
void write(File out) {
//如果文件不存在,新建
if (!out.exists()) {
try {
out.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
//写入定义好的document
try {
Transformer transformer = TransformerFactory.newInstance().newTransformer();
//设置编码方式
transformer.setParameter("encoding", "utf-8");
//转换成DOM资源
DOMSource domSource = new DOMSource(formatXML());
StreamResult streamResult = new StreamResult(out);
//写入
transformer.transform(domSource, streamResult);
//输出到控制台
StringWriter writer = new StringWriter();
streamResult = new StreamResult(writer);
transformer.transform(domSource, streamResult);
System.out.println(writer.toString());
} catch (Exception e) {
e.printStackTrace();
}

}
}

2.测试方法:

package com.pan.xml;

import java.io.File;
import java.io.IOException;

/**
* Created by pan on 2016/10/4.
*/
public class Main {

public static void main(String[] args) {
//        File file = new File("src/com/pan/xml/test.xml") ;
//        //读取xml文件
//        new ReadXML().read(file);

File file = new File("src/com/pan/xml/test_new.xml");
//写入
new WriteXML().write(file);
}

}

3.输出结果:

控制台:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><root rt="ro"><name>小花</name><age color="red"/></root>

Process finished with exit code 0

文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root rt="ro">
<name>小花</name>
<age color="red"/>
</root>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: