// Path: src/main/java/com/wind/common/IoUtil.java
// public class IoUtil {
// 
//     /**
//      * 关闭字节输入流
//      * @param in
//      */
//     public static void close(InputStream in){
//         if(in != null){
//             try {
//                 in.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
// 
//     /**
//      * 关闭字节输入输出流
//      * @param in
//      * @param out
//      */
//     public static void close(InputStream in, OutputStream out){
//         close(in);
//         close(out);
//     }
// 
//     /**
//      * 关闭字符输入流
//      * @param reader
//      */
//     public static void close(Reader reader){
//         if(reader != null){
//             try {
//                 reader.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
//     /**
//      * 关闭字符输出流
//      * @param writer
//      */
//     public static void close(Writer writer){
//         if(writer != null){
//             try {
//                 writer.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
//     /**
//      * 关闭image输入流
//      * @param iis
//      */
//     public static void close(ImageInputStream iis){
//         if(iis != null){
//             try {
//                 iis.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
//     /**
//      * 批量关闭字节输入流
//      * @param ins
//      */
//     public static void close(InputStream... ins){
//         Arrays.asList(ins).parallelStream().forEach(IoUtil::close);
//     }
// 
//     /**
//      * 批量关闭字节输出流
//      * @param outs
//      */
//     public static void close(OutputStream... outs){
//         Arrays.asList(outs).parallelStream().forEach(IoUtil::close);
//     }
// 
//     /**
//      * 关闭字节输出流
//      * @param out
//      */
//     public static void close(OutputStream out){
//         if(out != null){
//             try {
//                 out.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
//     /**
//      * 关闭XMLWriter输出流
//      * @param out
//      */
//     public static void close(XMLWriter out){
//         if(out != null){
//             try {
//                 out.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// }


import com.wind.common.IoUtil;
import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import java.io.*;
import java.util.Iterator;
import java.util.List;
            reader.read(new BufferedInputStream(new FileInputStream(new File(filePath))));
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    }

    public static void writeXml(String filePath, Document doc){
        // 设置XML文档格式
        OutputFormat outputFormat = OutputFormat.createPrettyPrint();
        // 设置XML编码方式,即是用指定的编码方式保存XML文档到字符串(String),这里也可以指定为GBK或是ISO8859-1
        outputFormat.setEncoding("UTF-8");
        //是否生产xml头
        outputFormat.setSuppressDeclaration(true);
        //设置是否缩进
        outputFormat.setIndent(true);
        //以四个空格方式实现缩进
        outputFormat.setIndent("    ");
        //设置是否换行
        outputFormat.setNewlines(true);
        XMLWriter out = null;
        try{
            out = new XMLWriter(new FileWriter(new File(filePath)), outputFormat);
            out.write(doc);
        }catch(IOException e){
            e.printStackTrace();
        }
        finally{
// Path: src/main/java/com/wind/common/IoUtil.java
// public class IoUtil {
// 
//     /**
//      * 关闭字节输入流
//      * @param in
//      */
//     public static void close(InputStream in){
//         if(in != null){
//             try {
//                 in.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
// 
//     /**
//      * 关闭字节输入输出流
//      * @param in
//      * @param out
//      */
//     public static void close(InputStream in, OutputStream out){
//         close(in);
//         close(out);
//     }
// 
//     /**
//      * 关闭字符输入流
//      * @param reader
//      */
//     public static void close(Reader reader){
//         if(reader != null){
//             try {
//                 reader.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
//     /**
//      * 关闭字符输出流
//      * @param writer
//      */
//     public static void close(Writer writer){
//         if(writer != null){
//             try {
//                 writer.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
//     /**
//      * 关闭image输入流
//      * @param iis
//      */
//     public static void close(ImageInputStream iis){
//         if(iis != null){
//             try {
//                 iis.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
//     /**
//      * 批量关闭字节输入流
//      * @param ins
//      */
//     public static void close(InputStream... ins){
//         Arrays.asList(ins).parallelStream().forEach(IoUtil::close);
//     }
// 
//     /**
//      * 批量关闭字节输出流
//      * @param outs
//      */
//     public static void close(OutputStream... outs){
//         Arrays.asList(outs).parallelStream().forEach(IoUtil::close);
//     }
// 
//     /**
//      * 关闭字节输出流
//      * @param out
//      */
//     public static void close(OutputStream out){
//         if(out != null){
//             try {
//                 out.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// 
//     /**
//      * 关闭XMLWriter输出流
//      * @param out
//      */
//     public static void close(XMLWriter out){
//         if(out != null){
//             try {
//                 out.close();
//             } catch (IOException e) {
//                 e.printStackTrace();
//             }
//         }
//     }
// }


// Path: src/main/java/com/wind/xml/XmlUtil.java
import com.wind.common.IoUtil;
import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import java.io.*;
import java.util.Iterator;
import java.util.List;

            reader.read(new BufferedInputStream(new FileInputStream(new File(filePath))));
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }

    }

    public static void writeXml(String filePath, Document doc){
        // 设置XML文档格式
        OutputFormat outputFormat = OutputFormat.createPrettyPrint();
        // 设置XML编码方式,即是用指定的编码方式保存XML文档到字符串(String),这里也可以指定为GBK或是ISO8859-1
        outputFormat.setEncoding("UTF-8");
        //是否生产xml头
        outputFormat.setSuppressDeclaration(true);
        //设置是否缩进
        outputFormat.setIndent(true);
        //以四个空格方式实现缩进
        outputFormat.setIndent("    ");
        //设置是否换行
        outputFormat.setNewlines(true);
        XMLWriter out = null;
        try{
            out = new XMLWriter(new FileWriter(new File(filePath)), outputFormat);
            out.write(doc);
        }catch(IOException e){
            e.printStackTrace();
        }
        finally{
            IoUtil.close(out);