importjavax.xml.parsers.*;importorg.w3c.dom.*;importorg.xml.sax.SAXException;importjavax.xml.transform.*;importjavax.xml.transform.dom.*;importjavax.xml.transform.stream.*;importjava.io.*;importjava.util.*;publicclassTestDom {publicvoidmodifyXML(File xmlFile){try{
DocumentBuilderFactory docBuilderFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder=docBuilderFactory.newDocumentBuilder();
Document document=docBuilder.parse(xmlFile);
Element root=document.getDocumentElement();//System.out.println(root.getNodeName());NodeList pairNodeList=root.getElementsByTagName("pair");for(inti=0;i
Node pairNode=pairNodeList.item(i);//tag //System.out.println(pairNode.getNodeName());NodeList pairChild=pairNode.getChildNodes();//tag 会把空格也算上,因此pairChild.getLength()!=2for(intj=0;j
Node pairChildNode=pairChild.item(j);//System.out.println(pairChildNode.getNodeName());if(pairChildNodeinstanceofElement){//由于会把空格算上,所以要判断是否是ElementElement pairChildElement=(Element)pairChildNode;
String text=((Text)pairChildElement.getFirstChild()).getData().trim();
System.out.println(text);
}
}
Element addElement1=document.createElement("addElement1");
addElement1.setTextContent("addText1");
pairNode.appendChild(addElement1);
Element addElement2=document.createElement("addElement2");
addElement2.setTextContent("addText2");
pairNode.appendChild(addElement2);
}
TransformerFactory tFactory=TransformerFactory.newInstance();
Transformer transformer=tFactory.newTransformer();
DOMSource source=newDOMSource(document);
StreamResult result=newStreamResult(newjava.io.File("E:/我的文档/tmp/modify.xml"));
transformer.transform(source, result);
}catch(ParserConfigurationException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}catch(SAXException e){
e.printStackTrace();
}catch(TransformerException e){
e.printStackTrace();
}
}/***@paramargs*/publicstaticvoidmain(String[] args) {//TODO Auto-generated method stubString path="E:/我的文档/tmp/数据/real_contradiction.xml";
TestDom testDom=newTestDom();
testDom.modifyXML(newFile(path));
}
}