利用DOM方式解析XML文档

DOM_xml.java

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.File;
import java.io.IOException;

public class DOM_xml {
    public  static void main(String[] args){
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();//文件解析工厂
        DocumentBuilder db = null;
        try{
            db = dbFactory.newDocumentBuilder();
            Document document =  db.parse(new File("D:\\桌面\\test.xml"));
            Element eroot = document.getDocumentElement();//获取根节点
            //System.out.println("根节点: "+eroot.getTagName());
            NodeList nodeList = eroot.getElementsByTagName("动物");//要拿的标签
            Element element1 = (Element) nodeList.item(0);
            NodeList List_jizhui = element1.getElementsByTagName("脊索动物");//拿脊索动物标签
            Element element2 = (Element) List_jizhui.item(0);//
            NodeList List_buru = element2.getElementsByTagName("哺乳动物");//拿哺乳动物标签
            //System.out.println("哺乳动物:");
            for(int i =0;i<List_buru.getLength();i++){
                Element element3 = (Element) List_buru.item(i);
                String s_name = element3.getTextContent();//标签内容
                System.out.println(s_name);//输出
            }
        } catch (ParserConfigurationException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (SAXException e) {
            e.printStackTrace();
        }

    }
}

test.xml

<?xml version="1.0" encoding="UTF-8"?>
<生物>
<植物>
</植物>
<动物>
<脊索动物>
<爬行动物>科莫多巨蜥</爬行动物>
<哺乳动物>猎豹</哺乳动物>
<鸟类>鸵鸟</鸟类>
<爬行动物>蝰蛇</爬行动物>
<哺乳动物>北极熊</哺乳动物>
<鸟类>帝企鹅</鸟类>
</脊索动物>
</动物>
<微生物/>
</生物>

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值