<?xml version="1.0"?>
<PEOPLE>
<PERSON PERSONID="E01">
<NAME>Tony Blair</NAME>
<ADDRESS>10 Downing Street, London, UK</ADDRESS>
<TEL>(061) 98765</TEL>
<FAX>(061) 98765</FAX>
<EMAIL>blair@everywhere.com</EMAIL>
</PERSON>
<PERSON PERSONID="E02">
<NAME>Bill Clinton</NAME>
<ADDRESS>White House, USA</ADDRESS>
<TEL>(001) 6400 98765</TEL>
<FAX>(001) 6400 98765</FAX>
<EMAIL>bill@everywhere.com</EMAIL>
</PERSON>
<PERSON PERSONID="E03">
<NAME>Tom Cruise</NAME>
<ADDRESS>57 Jumbo Street, New York, USA</ADDRESS>
<TEL>(001) 4500 67859</TEL>
<FAX>(001) 4500 67859</FAX>
<EMAIL>cruise@everywhere.com</EMAIL>
</PERSON>
<PERSON PERSONID="E04">
<NAME>Linda Goodman</NAME>
<ADDRESS>78 Crax Lane, London, UK</ADDRESS>
<TEL>(061) 54 56789</TEL>
<FAX>(061) 54 56789</FAX>
<EMAIL>linda@everywhere.com</EMAIL>
</PERSON>
</PEOPLE>
上面是对应的XML
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class DOM2XML {
public static void main(String[] args) throws Exception {
//step:1 获得dom的解析工厂(工作的作用适用于创建一个具体的解析器)
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//step:2获得具体的dom解析器
DocumentBuilder db = dbf.newDocumentBuilder();
//step:3解析一个xml文档,获得Docment的对象(根节点)
Document document = db.parse(new File("candidate.xml"));
//获得节点名位PERSON的节点的集合
NodeList list = document.getElementsByTagName("PERSON");
for(int i = 0;i<list.getLength();i++){
//遍历去的集合的元素,再取出每个元素里面的元素对应的值
Element element = (Element)list.item(i);
//通过标记得到对应的元素,在得到值
String content = element.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();
System.out.println(content);
content = element.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue();
System.out.println(content);
content = element.getElementsByTagName("TEL").item(0).getFirstChild().getNodeValue();
System.out.println(content);
content = element.getElementsByTagName("FAX").item(0).getFirstChild().getNodeValue();
System.out.println(content);
content = element.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue();
System.out.println(content);
System.out.println("----------------------------------------------------");
}
}
}