把xml格式的字符串寫入到一個xml文件中


package demo;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.StringReader;
import java.util.Date;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
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.xml.sax.InputSource;
import org.xml.sax.SAXException;

public class DocXml {
    public static void main(String[] args) {
        String s1 = "<?xml version=\"1.0\" encoding=\"utf-8\"?><img src=\"http://b0.upaiyun.com/1523978382096.jpg\"><h1>百度</h1></img>";
        Document doc = str2Document(s1);
        String fileName = "E:\\learn\\a.html";
        createXml(fileName, doc);
        
    }
    
    
    public static Document str2Document(String xmlStr) {
        Document doc = null;
        StringReader sr = new StringReader(xmlStr);
        InputSource is = new InputSource(sr);
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder;
        try {
            builder = factory.newDocumentBuilder();
            doc = builder.parse(is);
        } catch (ParserConfigurationException e) {
            System.out.println("ParserConfiguration錯誤"+e);
        } catch (SAXException e) {
            System.out.println("SAX錯誤"+e);
        } catch (IOException e) {
            System.out.println("IO錯誤"+e);
        }
        return doc;
    }
    
    
    public synchronized static void createXml(String fileName, Document document) {
        System.out.println("============進入生成xml方法:" + new Date().toLocaleString() + "=================");
        try {
            // 判斷文件是否存在,如存在就刪掉它
            File file = new File(fileName);
            if (file.exists()) {
                file.delete();
                System.out.println("==============刪除xml文件==============");
            }
            /** 將document中的內容寫入文件中 */
            TransformerFactory tFactory = TransformerFactory.newInstance();
            Transformer transformer = tFactory.newTransformer();
            transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            DOMSource source = new DOMSource(document);
            StreamResult result = new StreamResult(new FileOutputStream(fileName));
            transformer.transform(source, result);
            System.out.println("--------------------------------" + "更新 XML文件成功" + "-------------------------------------");
        } catch (final Exception exception) {
            System.out.println("更新" + fileName + "出錯:"+exception);
        }
        System.out.println("============退出生成xml方法:" + new Date().toLocaleString() + "=================");
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM