Dom解析xml

Posted more harder, the more fortunat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dom解析xml相关的知识,希望对你有一定的参考价值。

1.假设,现在我想用DOM实现读取该文件,并输出xml中元素的信息

 

E:\dom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<xml>
<person>
<name>张三</name>
<age>23</age>
<add>北京</add>
</person>

<person>
<name>李四</name>
<age>24</age>
<add>西安</add>
</person>

<person>
<name>王五</name>
<age>25</age>
<add>上海</add>
</person>
</xml>

package com.cissst.dom1;

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;

public class DomTest {
    public static void main(String[] args){
        //得到DocumentBuilderFactory的一个工厂对象
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        
        DocumentBuilder docuBuilder = null;
        Document document = null;
        try {
            //用工厂对象得到一个DocumentBuilder对象
            docuBuilder = factory.newDocumentBuilder();
            //设置要访问的xml文件路径
            document = docuBuilder.parse("E:"+File.separator+"dom.xml");
            //获取名称为name元素的节点内容
            NodeList nl = document.getElementsByTagName("person");
            for(int i=0;i<nl.getLength();i++){
                //循环为每一个名字为person的节点转换成Element并输出元素的子节点中的内容
                Element element = (Element)nl.item(i);
                System.out.print(element.getElementsByTagName("name").item(0).getFirstChild().getNodeValue());
                System.out.print(element.getElementsByTagName("age").item(0).getFirstChild().getNodeValue());
                System.out.println(element.getElementsByTagName("add").item(0).getFirstChild().getNodeValue());
            }
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        
    }
}

 

以上是关于Dom解析xml的主要内容,如果未能解决你的问题,请参考以下文章

Android之DOM解析XML

Android之DOM解析XML

在java中解析xml有哪几种方法

java代码用dom4j解析xml文件的简单操作

java解析xml的几种方式哪种最好?

怎么用java解析xml中entity