码迷,mamicode.com
首页 > 其他好文 > 详细

DOM解析XML

时间:2015-11-09 07:03:29      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

我们在D盘根目录下新建一个xml文件demo_01.xml:

1 <?xml version="1.0" encoding="GBK"?>
2 <addresslist>
3     <name>李兴华</name>
4     <name>张孝祥</name>
5 </addresslist>

然后写一个Java类解析这个xml文件:

 1 import java.io.File;
 2 import java.io.IOException;
 3 
 4 import javax.xml.parsers.DocumentBuilder;
 5 import javax.xml.parsers.DocumentBuilderFactory;
 6 import javax.xml.parsers.ParserConfigurationException;
 7 
 8 import org.w3c.dom.Document;
 9 import org.w3c.dom.NodeList;
10 import org.xml.sax.SAXException;
11 
12 public class XML_DOM_01 {
13 
14     public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
15         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
16         DocumentBuilder builder = factory.newDocumentBuilder();
17         Document doc = builder.parse(new File("D:"+File.separator+"demo_01.xml"));
18         NodeList nl = doc.getElementsByTagName("name");
19         System.out.println("姓名:"+nl.item(1).getFirstChild().getNodeValue());
20     }
21 }

运行程序控制台输出:张孝祥。

我们将要解析的xml文档变得稍微复杂一点demo_02.xml:

 1 <?xml version="1.0" encoding="GBK"?>
 2 <addresslist>
 3     <linkman>
 4         <name>李兴华</name>
 5         <email>lxh@163.com</email>
 6     </linkman>
 7     <linkman>
 8         <name>张孝祥</name>
 9         <email>zxx@163.com</email>
10     </linkman>
11 </addresslist>
 1 import java.io.File;
 2 import java.io.IOException;
 3 
 4 import javax.xml.parsers.DocumentBuilder;
 5 import javax.xml.parsers.DocumentBuilderFactory;
 6 import javax.xml.parsers.ParserConfigurationException;
 7 
 8 import org.w3c.dom.Document;
 9 import org.w3c.dom.Element;
10 import org.w3c.dom.NodeList;
11 import org.xml.sax.SAXException;
12 
13 public class XML_DOM_02 {
14 
15     public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
16         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
17         DocumentBuilder builder = factory.newDocumentBuilder();
18         Document doc = builder.parse(new File("D:"+File.separator+"demo_02.xml"));
19         NodeList nl = doc.getElementsByTagName("linkman");
20         for(int i=0;i<nl.getLength();i++){
21             Element e = (Element) nl.item(i);
22             System.out.println("姓名:"+e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue());
23             System.out.println("邮箱:"+e.getElementsByTagName("email").item(0).getFirstChild().getNodeValue());
24         }
25     }
26 }

运行程序控制台输出:

技术分享

 

DOM解析XML

标签:

原文地址:http://www.cnblogs.com/build-up/p/4948868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!