import javax.xml.parsers.*;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;
public class DOMTest {
Document doc;
public void load(){
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder=factory.newDocumentBuilder();
doc=builder.parse("school.xml");
} catch (Exception e) {
e.printStackTrace();
}
}
public void show(){
NodeList list=doc.getElementsByTagName("*");
for(int i=0;i<list.getLength();i++){
Element el=(Element)list.item(i);
System.out.println("元素名称:"+el.getTagName());
System.out.println("元素值:"+el.getFirstChild().getNodeValue());
NamedNodeMap map=el.getAttributes();
if(map.getLength()>0){
for(int j=0;j<map.getLength();j++){
Attr a=(Attr)map.item(j);
System.out.println("属性"+a.getName()+"="+a.getValue());
}
}
}
}
public void add(){
Element stu=doc.createElement("student");
stu.setAttribute("id","008");
Element el=doc.createElement("name");
Text t=doc.createTextNode("波波");
el.appendChild(t);
stu.appendChild(el);
el=doc.createElement("address");
t=doc.createTextNode("北京");
el.appendChild(t);
stu.appendChild(el);
el=doc.createElement("tel");
t=doc.createTextNode("13810270545");
el.appendChild(t);
stu.appendChild(el);
el=doc.createElement("email");
t=doc.createTextNode("yangboaccp@126.com");
el.appendChild(t);
stu.appendChild(el);
doc.getDocumentElement().appendChild(stu);
}
public void save(){
TransformerFactory factory=TransformerFactory.newInstance();
try {
Transformer tran=factory.newTransformer();
Source xml=new DOMSource(doc);
Result result=new StreamResult("school.xml");
tran.transform(xml,result);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DOMTest dom=new DOMTest();
dom.load();
dom.add();
dom.show();
dom.save();
}
}
XML:
<?xml version="1.0" encoding="UTF-8"?><school>
<student id="001">
<name>彪彪</name>
<address>广东</address>
<tel>11111111</tel>
<email>不知道</email>
</student>
<student id="002">
<name>施施</name>
<address>北京</address>
<tel>00000000</tel>
<email>知道</email>
</student>
<student id="007">
<name>飞飞</name>
<address>北京</address>
<tel>444444444</tel>
<email>不知道</email>
</student>
</school>