1。xml 文件内容
<?xml version="1.0" encoding="UTF-8"?> <modules> <module id="22222" title="11111" name="11111111" detail="11111111111111" actions="1111"> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions=""> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions=""> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" > <resource id="" title="" name="" detail="" actions="" ></resource> <resource id="" title="" name="" detail="" actions="" ></resource> </resource> <resource id="" title="" name="" detail="" actions="" /> </resource> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> </resource> </module> <module id="" title="" name="" detail="" actions=""> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions=""> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions=""> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" > <resource id="" title="" name="" detail="" actions="" ></resource> <resource id="" title="" name="" detail="" actions="" ></resource> </resource> <resource id="" title="" name="" detail="" actions="" /> </resource> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> </resource> </module> <module id="" title="" name="" detail="" actions=""> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions=""> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions=""> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" > <resource id="" title="" name="" detail="" actions="" ></resource> <resource id="" title="" name="" detail="" actions="" ></resource> </resource> <resource id="" title="" name="" detail="" actions="" /> </resource> <resource id="" title="" name="" detail="" actions="" /> <resource id="" title="" name="" detail="" actions="" /> </resource> </module> </modules>
2。解析xml 文件
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(TbRole.class.getResourceAsStream("/com/role/module.xml"));
Element root = doc.getDocumentElement();
NodeList nl = root.getElementsByTagName("module");
System.out.println("== " + nl.item(0).getAttributes().getNamedItem("title").getNodeValue());
}
catch(Exception e) {
e.printStackTrace();
}
3.生成xml 文件 由于document 本身没有out 输出流所以使用了Transformert
DocumentBuilderFactory documentBuilder = DocumentBuilderFactory.newInstance(); DocumentBuilder documentWrite = documentBuilder.newDocumentBuilder(); Document docWriter = documentWrite.newDocument(); docWriter.setXmlVersion("1.0"); Element root = docWriter.createElement("usb"); root.setAttribute("id","2"); root.setAttribute("name","liuqing"); root.setAttribute("version","1.2"); root.setAttribute("value","567"); Element student1 = docWriter.createElement("student"); student1.setAttribute("dir","q_1"); Element sid = docWriter.createElement("id"); sid.setAttribute("column", "id"); sid.setAttribute("type", "varchar"); sid.setAttribute("size", "13"); Element sage = docWriter.createElement("age"); sage.setAttribute("id", "23"); sage.setAttribute("column", "varchar(255)"); sage.setAttribute("name", "liuqing"); sage.setAttribute("type", "java.lang.String"); sage.setAttribute("class", "com.repastsystem.zik.entiy.StudentInfo"); sage.appendChild(docWriter.createTextNode("23")); docWriter.appendChild(sid); Element name = docWriter.createElement("name"); name.appendChild(docWriter.createTextNode("刘庆")); student1.appendChild(sid); student1.appendChild(sage); student1.appendChild(name); root.appendChild(student1); docWriter.appendChild(root); Transformer t = TransformerFactory.newInstance().newTransformer(); t.transform(new DOMSource(docWriter), new StreamResult(new FileOutputStream(new File("f:\\usb.xml"))));
4. 生成xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <usb id="2" name="liuqing" value="567" version="1.2"> <student dir="q_1"> <id column="id" size="13" type="varchar"/> <age class="com.repastsystem.zik.entiy.StudentInfo" column="varchar(255)" id="23" name="liuqing" type="java.lang.String">23</age> <name>刘庆</name> </student> </usb>