zoukankan      html  css  js  c++  java
  • jdom处理的XML Document 和String 之间的相互转化

    package util;
    
    
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.StringReader;
    
    import org.jdom.Document;   
    import org.jdom.input.SAXBuilder;   
    import org.jdom.output.Format;   
    import org.jdom.output.XMLOutputter;   
      
    /**  
     * JDOM 方式操作XML  
     *   
     * @author Watson Xu  
     * @date 2011-5-3 下午02:20:49  
     */  
    public class OperationXMLByJdom {   
        /**  
         * DOCUMENT格式化输出保存为XML  
         *   
         * @param doc JDOM的Document  
         * @param filePath 输出文件路径  
         * @throws Exception  
         */  
        public static void doc2XML(Document doc, String filePath) throws Exception{   
            Format format = Format.getCompactFormat();    
            format.setEncoding("UTF-8"); //设置XML文件的字符为UTF-8   
            format.setIndent("     ");//设置缩进    
           
            XMLOutputter outputter = new XMLOutputter(format);//定义输出 ,在元素后换行,每一层元素缩排四格    
            FileWriter writer = new FileWriter(filePath);//输出流   
            outputter.output(doc, writer);   
            writer.close();   
        }   
           
        /**  
         * 字符串转换为DOCUMENT  
         *   
         * @param xmlStr 字符串  
         * @return doc JDOM的Document  
         * @throws Exception  
         */  
        public static Document string2Doc(String xmlStr) throws Exception {   
            java.io.Reader in = new StringReader(xmlStr);   
            Document doc = (new SAXBuilder()).build(in);          
            return doc;   
        }   
      
        /**  
         * Document转换为字符串  
         *   
         * @param xmlFilePath XML文件路径  
         * @return xmlStr 字符串  
         * @throws Exception  
         */  
        public static String doc2String(Document doc) throws Exception {   
            Format format = Format.getPrettyFormat();   
            format.setEncoding("UTF-8");// 设置xml文件的字符为UTF-8,解决中文问题   
            XMLOutputter xmlout = new XMLOutputter(format);   
            ByteArrayOutputStream bo = new ByteArrayOutputStream();   
            xmlout.output(doc, bo);   
            return bo.toString();   
        }   
      
        /**  
         * XML转换为Document  
         *   
         * @param xmlFilePath XML文件路径  
         * @return doc Document对象  
         * @throws Exception  
         */  
        public static Document xml2Doc(String xmlFilePath) throws Exception {   
            File file = new File(xmlFilePath);   
            return (new SAXBuilder()).build(file);   
        }   
           
        public static void main(String[] args) {   
            try{   
                Document doc = xml2Doc("test.xml");   
                System.out.println(doc);   
                System.out.println(doc2String(doc));   
                doc = string2Doc(doc2String(doc));   
                doc2XML(doc, "1.xml");   
            } catch (Exception e) {   
                e.printStackTrace();   
            }   
               
        }   
    }  
  • 相关阅读:
    [noi31]MST
    [noi34]palindrome
    如何下载InfoQ的视频
    ESRI.Arcgis.esrisystem.AoInitializeClass编译错误解决方法
    Engine中如何把没有Z值的Gemetry转为有Z值的Geomtry:报错"the geometry has no Z values"
    安装 Silverlight 5 出错的解决方法
    屏蔽优酷广告
    ESRI.Arcgis.esrisystem.AoInitializeClass编译错误解决方法
    屏蔽优酷广告
    安装 Silverlight 5 出错的解决方法
  • 原文地址:https://www.cnblogs.com/fm168/p/3399668.html
Copyright © 2011-2022 走看看