码迷,mamicode.com
首页 > 编程语言 > 详细

java 解析XML文档

时间:2015-12-23 01:59:06      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

一、解析XML文档方式:

  1、DOM方式:将整个XML文档读取到内存中,按照XML文件的树状结构图进行解析。

  2、SAX方式:基于事件的解析,只需要加载XML中的部分数据,优点是,占用资源更少,内存消耗小。

 

  XML文档:

  

技术分享
<?xml version="1.0" encoding="UTF-8"?>
<students>
    <student>
        <name>张三</name>
        <age>20</age>
    </student>
    <student>
        <name>李四</name>
        <age>22</age>
    </student>
    <student>
        <name>王五</name>
        <age>24</age>
    </student>
    <student>
        <name>赵六</name>
        <age>21</age>
    </student>
</students>
技术分享

二、DOM解析方式:

技术分享
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("src/students.xml");
NodeList list = doc.getElementsByTagName("student");
for (int i = 0; i < list.getLength(); i++) {
    Node node = list.item(i);
    NodeList stulist = node.getChildNodes();
    for (int j = 0; j < stulist.getLength(); j++) {
     //在XML中会默认包含一个空元素#text,需要略过 if (stulist.item(j).getNodeName().equals("#text")) continue; Node childnode = stulist.item(j); System.out.println(childnode.getNodeName() + ":" + childnode.getTextContent()); } }
技术分享
技术分享
输出结果:
name:张三 age:20 name:李四 age:22 name:王五 age:24
技术分享

java 解析XML文档

标签:

原文地址:http://www.cnblogs.com/futao123/p/5068611.html

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