使用DOM創建xml文件 創建xml的代碼如下: 將xml的內容放入document對象後,直接把這document用toString輸出會是null 此時需要進行使用Transformer進行轉換,如果想變成字元串輸出可以藉助stringwriter,如果想變成文件保存直接用file 備註:ecl ...
使用DOM創建xml文件
創建xml的代碼如下:
public class CreateXML { public static void main(String[] args) { DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder=factory.newDocumentBuilder(); Document documnet= builder.newDocument(); Element root=documnet.createElement("languages"); root.setAttribute("cat", "it"); Element lan1=documnet.createElement("lan"); lan1.setAttribute("id", "1"); Element name1=documnet.createElement("name"); name1.setTextContent("java"); Element ide1=documnet.createElement("ide"); ide1.setTextContent("eclipse"); lan1.appendChild(name1); lan1.appendChild(ide1); Element lan2=documnet.createElement("lan"); lan2.setAttribute("id", "2"); Element name2=documnet.createElement("name"); name2.setTextContent("c#"); Element ide2=documnet.createElement("ide"); ide2.setTextContent("visual studio"); lan2.appendChild(name2); lan2.appendChild(ide2); Element lan3=documnet.createElement("lan"); lan3.setAttribute("id", "3"); Element name3=documnet.createElement("name"); name3.setTextContent("swift"); Element ide3=documnet.createElement("ide"); ide3.setTextContent("visual studio"); lan3.appendChild(name3); lan3.appendChild(ide3); root.appendChild(lan1); root.appendChild(lan2); root.appendChild(lan3); documnet.appendChild(root); //使用transformer將xml文檔轉換成其他格式 TransformerFactory tfactory=TransformerFactory.newInstance(); Transformer former=tfactory.newTransformer(); //將xml內容以字元串輸出 StringWriter writer=new StringWriter(); former.transform(new DOMSource(documnet), new StreamResult(writer)); System.out.println(writer.toString()); //將xml內容保存為文件 former.transform(new DOMSource(documnet), new StreamResult(new File("newxml.xml")));
} catch (ParserConfigurationException e) { e.printStackTrace(); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } } }
將xml的內容放入document對象後,直接把這document用toString輸出會是null
此時需要進行使用Transformer進行轉換,如果想變成字元串輸出可以藉助stringwriter,如果想變成文件保存直接用file
備註:eclipse中可以用ctrl+i進行格式化xml文件,更易於觀察