操作XML的Java工具類

c9cv 10年前發布 | 4K 次閱讀 PHP庫
    import java.io.File;  
    import java.io.FileInputStream;  
    import java.io.FileNotFoundException;  
    import java.io.FileOutputStream;  
    import java.io.IOException;  
    import java.io.InputStream;  

    import org.jdom.Document;  
    import org.jdom.Element;  
    import org.jdom.JDOMException;  
    import org.jdom.input.SAXBuilder;  
    import org.jdom.output.Format;  
    import org.jdom.output.XMLOutputter;  

    /** 
     * XML工具類 
     * @author LXY 
     * 
     */  
    public class XMLUtil {  
        /** 
         * 根據xml路徑得到rootElement 
         * @param xmlPath 
         * @return 
         * @throws IOException  
         */  
        public static Element getXMLRoot(InputStream in) throws IOException {  
            SAXBuilder builder = new SAXBuilder();  
            Document doc = null;  
            Element root = null;  
            try {  
                doc = builder.build(in);  
                root = doc.getRootElement();  
            } catch (JDOMException e) {  
                e.printStackTrace();  
            } catch (IOException e) {  
                e.printStackTrace();  
            }finally{  
                in.close();  
            }  
            return root;  
        }  

        /** 
         * 根據xml路徑得到rootElement 重載方法 
         * @param xmlPath 
         * @return 
         * @throws IOException  
         */  
        public static Element getXMLRoot(String xmlPath)  {  
            SAXBuilder builder = new SAXBuilder();  
            FileInputStream in = null;  
            Document doc = null;  
            Element root = null;  
            try {  
                in = new FileInputStream(new File(xmlPath));  
                doc = builder.build(in);  
                root = doc.getRootElement();  
            } catch (JDOMException e) {  
                e.printStackTrace();  
            } catch (IOException e) {  
                e.printStackTrace();  
            } finally {  
                try {  
                    if(in != null) {  
                        in.close();  
                    }  
                } catch (IOException e) {  
                    e.printStackTrace();  
                }  
            }  
            return root;  
        }  

        /** 
         * 根據xml文檔對象Docuemnt生成xml文件到指定路徑 
         * @param doc 
         * @param xmlPath 
         */  
        public static void createXML(Document doc, String xmlPath) throws Exception{  
            XMLOutputter outputter = null;   
            Format format = Format.getCompactFormat();   
            format.setEncoding("UTF-8");   
            format.setIndent("    ");   
            outputter = new XMLOutputter(format);   
            FileOutputStream out = null;  
            try {  
                out = new FileOutputStream(xmlPath);  
                outputter.output(doc, out);  
            } catch (FileNotFoundException e) {  
                e.printStackTrace();  
                throw e;  
            } catch (IOException e) {  
                e.printStackTrace();  
                throw e;  
            } finally {  
                if(out != null)  {  
                    out.close();  
                }  
            }  
        }  
    }  
 本文由用戶 c9cv 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!