创建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 }