第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

使用DOM方式解析XML文件

標(biāo)簽:
Java

package com.imooc.domtest.test;

import java.awt.print.Book;
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.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class DOMTest_1 {

public static void main(String[] args) {
    try {
        DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
        Document document = db.parse("Book.xml");
        //获取所有book节点
        NodeList nodeList = document.getElementsByTagName("book");
        //输出一共有多少个book节点
        System.out.println("一共有" + nodeList.getLength() + "本书");
        for (int i = 0; i < nodeList.getLength(); i++) {
            System.out.println("==================下面开始遍历第" + (i+1) + "本书的内容============");
            //循环遍历获取每一个book
            Node book = nodeList.item(i);

            //通过Node对象的getAttributes()方法获取book的所有的属性。注:不是子节点
            NamedNodeMap attrs = book.getAttributes();
            System.out.println("第" + (i+1) + "本书共有" + attrs.getLength() + "个属性");

            for (int j = 0; j < attrs.getLength(); j++) {
                //循环遍历获取book的属性名和属性值
                Node attr = attrs.item(j);
                //获取属性名
                System.out.print("属性名:" + attr.getNodeName());
                System.out.println("--属性值:" + attr.getNodeValue());

            }

            //使用getChildNodes()返回book的所有子节点的集合
            NodeList childeNodes = book.getChildNodes();
            System.out.println("共有" + childeNodes.getLength() + "个子节点");
            //遍历子节点
            for (int k = 0; k < childeNodes.getLength(); k++) {

                //区分出text类型的node以及element类型的node  
                if (childeNodes.item(k).getNodeType()== Node.ELEMENT_NODE) {

                    System.out.print("第" + (k+1) + "个节点名:" 
                + childeNodes.item(k).getNodeName());

                    //直接使用getNodeValue()时会直接输出null,因为'冰与火之歌'本身也代表一个节点, 只不过它是一个简单的TEXT节点
                    //所以这里要获取book子节点的子节点才能正确获取到冰与火之歌
                    System.out.println("--第" + (k+1) + "个节点值:" 
                + childeNodes.item(k).getFirstChild().getNodeValue());

                    //如果子节点里面还嵌套着子节点,如:<name><a>www</a>冰与火之歌</name>,此时层级多了一层 getFirstChild().getNodeValue() 会返回null
                    //getTextContent()方法能够一起输出:www冰与火之歌

/* System.out.println("--第" + (k+1) + "个节点值:"

  • childeNodes.item(k).getTextContent());*/
    }
    }

            System.out.println("==================结束遍历第" + (i+1) + "本书的内容============");
            System.out.println();
        }
    
    } catch (ParserConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }catch (SAXException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    
    }

    }
    }

點(diǎn)擊查看更多內(nèi)容
2人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消