1. 程式人生 > >DOM4J操作XML

DOM4J操作XML

sys _屬性 根節點 int reat void AC end src

創建XML


 1 /**   
 2     * @Description: 創建XML文件
 3     * @author 112  
 4     * @date 2018年3月28日 下午2:13:36 
 5     */
 6     @Test
 7     public void createXML(){
 8         //創建XML元素
 9         Document document = DocumentHelper.createDocument();
10         Element rootElement = document.addElement("XML創建_根節點");
11 rootElement.addElement("XML創建_子節點一").addText("子節點一_文本"); 12 rootElement.addElement("XML創建_子節點二").addAttribute("子節點二_屬性", "我是屬性二"); 13 rootElement.addElement("XML創建_子節點三").addAttribute("子節點三_屬性", "我是屬性三").addText("子節點三_文本"); 14 15 try { 16 //創建輸出流
17 OutputStream outputStream = new FileOutputStream("src/cn/rocker/xml/write.xml"); 18 //格式化輸出的XML格式 19 OutputFormat format = OutputFormat.createPrettyPrint(); 20 XMLWriter writer = new XMLWriter(outputStream, format); 21 writer.write(document);
22 writer.close(); 23 outputStream.close(); 24 } catch (Exception e) { 25 e.printStackTrace(); 26 } 27 }
1 <?xml version="1.0" encoding="UTF-8"?>
2 
3 <XML創建_根節點>
4   <XML創建_子節點一>子節點一_文本</XML創建_子節點一>
5   <XML創建_子節點二 子節點二_屬性="我是屬性二"/>
6   <XML創建_子節點三 子節點三_屬性="我是屬性三">子節點三_文本</XML創建_子節點三>
7 </XML創建_根節點>

解析XML


 1 /**   
 2     * @Description: 解析XML文件
 3     * @author czc   
 4     * @date 2018年3月28日 下午3:52:29 
 5     */
 6     @Test
 7     public void parseXML(){
 8         SAXReader reader = new SAXReader();
 9         try {
10             Document document = reader.read("src/cn/rocker/xml/parse.xml");
11             Element rootElement = document.getRootElement();
12             List<Element> elements = rootElement.elements();
13             
14             Element element1 = elements.get(2);
15             System.out.println(element1.attributeValue("name"));
16             
17             System.out.println(rootElement.attributeValue("id"));
18         } catch (Exception e) {
19             e.printStackTrace();
20         }
21     }
1 <?xml version="1.0" encoding="UTF-8"?>
2 <bean id="masterDataSource" parent="parentDataSource">
3         <property name="driverClass" value="com.mysql.jdbc.Driver" />
4         <property name="jdbcUrl" value="jdbc:mysql://192.168.166.154:3306/iisp_prod_zj" />
5         <property name="username" value="root" />
6         <property name="password" value="root" />
7 </bean>

XML和String互相轉換


 1 /**   
 2     * @Description: XML和String相互轉換
 3     * @author czc   
 4     * @date 2018年3月28日 下午4:10:47 
 5     */
 6     @Test
 7     public void convertXML2String(){
 8         SAXReader reader = new SAXReader();
 9         try {
10             Document document = reader.read("src/cn/rocker/xml/parse.xml");
11             
12             //將Document對象轉為String
13             String strXML = document.asXML();
14             System.out.println(strXML);
15         } catch (DocumentException e) {
16             e.printStackTrace();
17         }
18     }
 1 /**   
 2     * @Description: XML和String相互轉換
 3     * @author czc   
 4     * @date 2018年3月28日 下午4:26:05 
 5     */
 6     @Test
 7     public void convertString2XML(){
 8         StringBuilder sb = new StringBuilder();
 9         sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
10         sb.append("<bean id=\"masterDataSource\" parent=\"parentDataSource\">");
11         sb.append("<property name=\"driverClass\" value=\"com.mysql.jdbc.Driver\"/>");
12         sb.append("<property name=\"jdbcUrl\" value=\"jdbc:mysql://192.168.166.154:3306/iisp_prod_zj\"/>");
13         sb.append("<property name=\"username\" value=\"root\"/>");
14         sb.append("<property name=\"password\" value=\"root\"/>");
15         sb.append("</bean>");
16         String text = sb.toString();
17         
18         //將String轉為Document
19         try {
20             Document document = DocumentHelper.parseText(text);
21             System.out.println(document.getRootElement().getName());
22         } catch (DocumentException e) {
23             e.printStackTrace();
24         }
25     }

DOM4J操作XML