<?xml version="1.0" encoding="UTF-8"?> <!-- 說明是xml文件,文件的版本和字符編碼 --> <root version="2.0"><!-- 定義文檔的根元素並設置version屬性 --> <book id="1"><!-- 定義文檔的元素,id 是屬性,屬性可以設置為任意詞--> <name>水滸傳</name> <price>12.6</price> <miaoshu><![CDATA[''><$&#]]></miaoshu><!-- CDATA是xml解析器當作普通文本,所以任何符號都不會被當做標記字符 --> </book> </root> Xml的實體引用 字符 實體引用 < < ‘ ' > > “ " & & Dom4j操作xml文檔 創建xml文檔 //創建xml文檔對象doc Document doc=DocumentHelper.createDocument(); //使用DocumentFactory創建xml文檔對象 //DocumentFactory factory=DocumentFactory.getInstance(); //Document docc=factory.createDocument(); //創建普通節點 Element root=DocumentHelper.createElement("root"); //將root普通節點設置為根節點 doc.setRootElement(root); //給節點添加注釋 root.addComment("根節點"); //給節點添加屬性 root.addAttribute("version", "2.0"); //添加子節點,獲取子節點或添加子節點 Element book=root.addElement("book"); book.addAttribute("id","1"); //添加節點內容 book.setText("圖書"); Element book2=root.addElement("book"); book2.addAttribute("id", "1"); //添加CDATA內容 book2.addCDATA("圖書2"); //設置輸出路徑 String xmlpath="D:\\Users\\Administrator\\workspace\\HelloWorld\\WebContent\\WEB-INF\\two.xml"; //設置輸出格式 OutputFormat format=new OutputFormat(); format.setEncoding("GBK"); //無格式輸出文件 //XMLWriter write=new XMLWriter(new FileWriter(xmlpath)); //有格式輸出 XMLWriter write=new XMLWriter(new FileWriter(xmlpath),format); write.write(doc); write.close(); 讀取、修改、刪除節點xml文檔 //讀取xml文檔 String xmlpath="D:\\Users\\Administrator\\workspace\\HelloWorld\\WebContent\\WEB-INF\\two.xml"; SAXReader read=new SAXReader(); try { Document doc=read.read(new File(xmlpath)); //獲得根節點 Element root=doc.getRootElement(); //根據節點名獲取節點 Element book=root.element("book"); book.getText(); //使用selectSingleNode方法查詢節點 //使用/來表示節點的歸屬[@id='1']查詢book節點屬性id等於1的節點 Element bookr=(Element) root.selectSingleNode("/root/book[@id='1']"); System.out.println(bookr); System.out.println(book.getText()); //selectNodes()方法獲取一組節點 //List bookss=root.selectNodes("/root/book"); //刪除id為1的book節點 root.remove(bookr); //刪除所有book節點 doc.getRootElement().elements("book").clear(); //根據節點名獲取節點數組 List books=root.elements("book"); for(int i=0;i<books.size();i++){ Element bookl=(Element)books.get(i); System.out.println(bookl.getText()); } } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); }