Dom解析xml

如何使用java语言读取xml,并输出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();
        }
        
        
    }
}
Best Regards
原文地址:https://www.cnblogs.com/pecool/p/8042375.html