您的位置:首页 > 其它

使用DOM创建XML文档

2011-04-06 19:06 281 查看
1、CtreateXML.java,用于创建student.xml文件

//使用DOM创建XML
package dom.sample;

import java.io.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;

public class CtreateXML {

public static void main(String[] args) {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.newDocument();
doc.appendChild(doc.createProcessingInstruction("xml-stylesheet",
"type=/"text/css/" href=/"students.css/""));
Element root = doc.createElement("students");
doc.appendChild(root);

Element student1 = doc.createElement("student");
student1.setAttribute("sn", "01");
Element name1 = doc.createElement("name");
Text text1 = doc.createTextNode("张三");
name1.appendChild(text1);
Element age1 = doc.createElement("age");
text1 = doc.createTextNode("18");
age1.appendChild(text1);
student1.appendChild(name1);
student1.appendChild(age1);
root.appendChild(student1);

Element student2 = doc.createElement("student");
student2.setAttribute("sn", "02");
Element name2 = doc.createElement("name");
Text text2 = doc.createTextNode("李四");
name2.appendChild(text2);
Element age2 = doc.createElement("age");
text2 = doc.createTextNode("20");
age2.appendChild(text2);
student2.appendChild(name2);
student2.appendChild(age2);
root.appendChild(student2);

DOMSource source = new DOMSource();
source.setNode(doc);

FileOutputStream fos = new FileOutputStream("students.xml");
StreamResult result = new StreamResult(fos);

TransformerFactory factory = TransformerFactory.newInstance();
factory.setAttribute("indent-number", 2);
Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM,
"students.dtd");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "gbk");

transformer.transform(source, result);
System.out.println("创建完成!");
} catch (Exception e) {
e.printStackTrace();
}
}
}


2、生成的student.xml如下

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="students.css"?>
<!DOCTYPE students SYSTEM "students.dtd">
<students>
<student sn="01">
<name>张三</name>
<age>18</age>
</student>
<student sn="02">
<name>李四</name>
<age>20</age>
</student>
</students>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: