package ytu.botao.xml.dom;
import java.io.File;
import java.io.IOException;
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;
import org.xml.sax.SAXException;
/**
 *
 * @author botao
 *
 */
public class DomTest {
    /**
     * @param args
     * @throws ParserConfigurationException
     * @throws IOException
     * @throws SAXException
     */
    public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
        // TODO Auto-generated method stub
           
        //step 1:获得dom解析器工厂(工厂的作用时用于创建具体的解析器)
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        //step 2:获得具体的dom解析器
        DocumentBuilder db = dbf.newDocumentBuilder();
        //step 3:解析一个xml文档,获得Document对象(根节点)
        Document document = db.parse(new File("candidate.xml"));
           
        //以上三步为固定模式
           
           
        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("name:" + content);
            content = element.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue();
               
            System.out.println("address:" + content);
               
            content = element.getElementsByTagName("TEL").item(0).getFirstChild().getNodeValue();
               
            System.out.println("tel:" + content);
               
            content = element.getElementsByTagName("FAX").item(0).getFirstChild().getNodeValue();
               
            System.out.println("fax:" + content);
               
            content = element.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue();
               
            System.out.println("email:" + content);
               
            System.out.println("--------------------------------------");
               
               
        }
    }
}