XmlUtils工具箱,解析XML

package com.lee.xmlutils;

import java.io.FileOutputStream;

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;

public class XmlUtils {
	private static String fileName = "src/exam.xml";
	//	通过定义工厂API,使应用程序从XML中获得生成DOM对象树的解析器
	//	通过定义API,使其从XML文档中获得DOM文档实例。
	//	通过上述获得的DOM文档实例,解析各种输入源。
	public static Document getDocument() throws Exception{
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		DocumentBuilder builder = factory.newDocumentBuilder();
		return builder.parse(fileName);
		
	}
	
	//	通过从转换工厂中获取实例,拿到实例的转换器,使用转换器的转换功能,将源树转换为结果树
	//	DOMSource充当源树,StreamResult充当结果树。
	public static void write2Xml(Document document) throws Exception{
		TransformerFactory factory = TransformerFactory.newInstance();
		Transformer transformer = factory.newTransformer();
		transformer.transform(new DOMSource(document), new StreamResult(new FileOutputStream(fileName)));
	}
	
	/*
	 * 
1.获得解析本地xml后的document对象
	从DocumentBuilderFacory中获得newInstance
	从factory中获得newDocumentBuilder
	从builder中parse本地xml
2.通过源树与结果树的转换,写入xml
	从TransformerFactory中获得newInstance
	从factory中获得newTransformer
	从transformer中transform(源树,结果树)
	DOMSourse充当源,StreamResult充当结果
	 * 
	 * */
}

你可能感兴趣的:(解析xml)