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

通过java写xml文档

2020-08-22 10:20 148 查看

实现代码

package XML.dom;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
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 org.w3c.dom.Document;
import org.w3c.dom.Element;

public class Practice {

public static void main(String[] args) {
try {
//创建解析器工厂对象
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//创建解析器的对象
DocumentBuilder db = dbf.newDocumentBuilder();
//创建根结点
Document d = db.newDocument();

if(d != null) {
//创建students标签
Element students = d.createElement("students");
//创建student1标签
Element student1 = d.createElement("student1");
//设置属性
student1.setAttribute("id", "001");
Element name1 = d.createElement("name");
//设置name标签的文本为Tom
name1.appendChild(d.createTextNode("Tom"));
Element gender1 = d.createElement("gender");
gender1.appendChild(d.createTextNode("male"));
Element  age1 = d.createElement("age");
age1.appendChild(d.createTextNode("20"));

//创建student2标签
Element student2 = d.createElement("student2");
student2.setAttribute("id", "002");
Element name2 = d.createElement("name");
name2.appendChild(d.createTextNode("Jack"));
Element gender2 = d.createElement("gender");
gender2.appendChild(d.createTextNode("male"));
Element  age2= d.createElement("age");
age2.appendChild(d.createTextNode("19"));

//将age挂在student1上
student1.appendChild(name1);
student1.appendChild(gender1);
student1.appendChild(age1);
student2.appendChild(name2);
student2.appendChild(gender2);
student2.appendChild(age2);
students.appendChild(student1);
students.appendChild(student2);
d.appendChild(students);

//创建转换器工厂实例
TransformerFactory tff = TransformerFactory.newInstance();
Transformer tf = tff.newTransformer();
DOMSource source = new DOMSource(d);

//要写入的xml文件
File file = new File("p.xml");
StreamResult result = new StreamResult(file);

//将DOM写入xml文件中
tf.transform(source, result);

System.out.println("write xml file successfully");
}
}catch(Exception e) {
e.printStackTrace();
}
}
}

结果(手动归整)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<students>
<student1 id="001">
<name>Tom</name>
<gender>male</gender>
<age>20</age>
</student1>
<student2 id="002">
<name>Jack</name>
<gender>male</gender>
<age>19</age>
</student2>
</students>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: