2011年5月5日

製造XML使用Dom4j


Dom4J(www.dom4j.org),類似JDom,提供了java庫,提供XML的構造與解析
使用了Java Collections Framework

以下是一個簡單的例子可以完成最基本的XML

    public class Test1
    {
        public static void main(String[] args) throws Exception
        {
            // 創建文檔並設置文檔的根項目節點 :第一種方式
            // Document document = DocumentHelper.createDocument();
            //
            // Element root = DocumentHelper.createElement("student");
            //
            // document.setRootElement(root);

            // 創建文檔並設置文檔的根項目節點 :第二種方式
            Element root = DocumentHelper.createElement("student");
            Document document = DocumentHelper.createDocument(root);

            root.addAttribute("name", "zhangsan");

            Element idElement = root.addElement("id");
            Element sexElement = root.addElement("sex");

            helloElement.setText("123321");
            worldElement.setText("boy");

            helloElement.addAttribute("age", "20");

            XMLWriter xmlWriter = new XMLWriter();
            xmlWriter.write(document);
           
            // 設定輸出的格式(控幾格,是否空行)
            OutputFormat format = new OutputFormat("    ", true);
           
            XMLWriter xmlWriter2 = new XMLWriter(new FileOutputStream("student2.xml"), format);
            xmlWriter2.write(document);
           
            XMLWriter xmlWriter3 = new XMLWriter(new FileWriter("student3.xml"), format);
           
            xmlWriter3.write(document);
            xmlWriter3.close();

        }
    }



解析的方式是透過SAXReader來建立我們的xml格式的文檔Document,我們再透過document取得根樹取得屬性以及其他的屬性。

解析代碼:

SAXReader saxReader = new SAXReader();
            Document document = saxReader.read(new StringReader(xml));
            Element typeElement = document.getRootElement().element("type");
            return typeElement.getText();

沒有留言:

ShareThis