• 把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() + "=================");
        }
    }
  • 相关阅读:
    4月13日
    java线程池开启多线程
    cenos 7 zookeeper Error contacting service. It is probably not running
    io.lettuce.core.RedisCommandTimeoutException: Command timed out
    springboot java jar指定启动的jar外部配置文件
    ApplicationContextAware
    YYYYMMdd和yyyyMMdd的区别
    gpg加解密异常
    第四周学习及读书笔记
    第3章 直流电机的工作原理及特性 学习笔记(二)
  • 原文地址:https://www.cnblogs.com/z360519549/p/8911298.html
Copyright © 2020-2023  润新知