import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; import org.xml.sax.SAXException; public class OperatorXmlTest { public static void write(){ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder = factory.newDocumentBuilder(); InputStream inputStream = OperatorXmlTest.class.getResourceAsStream("students.xml"); Document document = builder.parse(inputStream); //root <students> Element root = document.getDocumentElement(); if(root != null){ root.setAttribute("id", "学生集体"); //得到<student> NodeList studentList = root.getChildNodes(); if(studentList != null){ for(int i = 0;i<studentList.getLength();i++){ Node student = studentList.item(i); if(student != null && student.getNodeType() == Node.ELEMENT_NODE){ String studentName = student.getAttributes().getNamedItem("id").getNodeValue(); if("001".equals(studentName)){ Element newElement = document.createElement("sex"); newElement.setNodeValue("男"); student.appendChild(newElement); } if("002".equals(studentName)){ Attr attr = document.createAttribute("id"); attr.setValue("004"); student.getAttributes().removeNamedItem("id"); student.getAttributes().setNamedItem(attr); } } } } Element stument = document.createElement("student"); stument.setAttribute("id", "005"); Element namement = document.createElement("name"); Text text = document.createTextNode("新增"); namement.appendChild(text); stument.appendChild(namement); root.appendChild(stument); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource domSource = new DOMSource(document); File file = new File("src/com/aoxun/test/student-nodify.xml"); if(file.exists()){ file.delete(); } file.createNewFile(); OutputStream outputStream = new FileOutputStream(file); StreamResult result = new StreamResult(outputStream); transformer.transform(domSource, result); } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } } public static void main(String[] args) { write(); } }
写入参考于:http://www.cnblogs.com/ishang/archive/2012/08/20/2647250.html