使用DOM解析XML(一)

来源:互联网 发布:整人剃发软件 编辑:程序博客网 时间:2024/06/05 08:02
需要解析的XML文档
<?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>

解析代码

import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList;/** * 根结点(document):代表的是XML文档本身,是解析XML文档的入口 * 根元素结点(root):表示XML文档的根元素,它对应于XML文档的Root. */public class Demo {public static void main(String[] args) {//1.获得DOM解析器工厂-->用于创建具体的解析器DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();try {//2.获得具体的DOM解析器DocumentBuilder builder = dbf.newDocumentBuilder();//3.解析一个XML文档,获得Document对象(根结点)Document document = builder.parse(new File("candidate.xml"));//candidate.xml放在项目目录下NodeList nodeLists = document.getElementsByTagName("PERSON");//int length = nodeLists.getLength();//System.out.println(length);for(int i = 0; i < nodeLists.getLength(); i++){Element element = (Element)nodeLists.item(i);String name = element.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();System.out.println("名字 = " + name);String addrss = element.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue();System.out.println("地址 = " + addrss);String tel = element.getElementsByTagName("TEL").item(0).getFirstChild().getNodeValue();System.out.println("电话 = " + tel);String fax = element.getElementsByTagName("FAX").item(0).getFirstChild().getNodeValue();System.out.println("传真 = " + fax);String email = element.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue();System.out.println("邮箱 = " + email);System.out.println("-------------------------------------");}} catch (Exception e) {e.printStackTrace();}}}
/**
 * 根结点(document):代表的是XML文档本身,是解析XML文档的入口
 * 根元素结点(root):表示XML文档的根元素,它对应于XML文档的Root.
 */


0 0
原创粉丝点击