通过java写xml文档

实现代码

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>

猜你喜欢

转载自blog.csdn.net/weixin_45734378/article/details/108164514