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充当结果
*
* */
}
XmlUtils工具箱,解析XML
最新推荐文章于 2023-12-21 22:41:50 发布