亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

在java中使用dom解析xml的示例分析

 更新時間:2013年05月03日 19:28:55   作者:  
本篇文章介紹了,在java中使用dom解析xml的示例分析。需要的朋友參考下

dom是個功能強大的解析工具,適用于小文檔

為什么這么說呢?因為它會把整篇xml文檔裝載進(jìn)內(nèi)存中,形成一顆文檔對象樹

總之聽起來怪嚇人的,不過使用它來讀取點小東西相對Sax而言還是挺方便的

至于它的增刪操作等,我是不打算寫了,在我看教程的時候我就差點被那代碼給丑到吐了

也正因為如此,才有后來那些jdom和dom4j等工具的存在……

不多說,直接上代碼

Dom解析示例

復(fù)制代碼 代碼如下:

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

 
public class Demo {

    public static void main(String[] args) throws Exception {
        //創(chuàng)建解析器工廠實例,并生成解析器
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        //創(chuàng)建需要解析的文檔對象
        File f = new File("books.xml");
        //解析文檔,并返回一個Document對象,此時xml文檔已加載到內(nèi)存中
        //好吧,讓解析來得更猛烈些吧,其余的事就是獲取數(shù)據(jù)了
        Document doc = builder.parse(f);

        //獲取文檔根元素
        //你問我為什么這么做?因為文檔對象本身就是樹形結(jié)構(gòu),這里就是樹根
        //當(dāng)然,你也可以直接找到元素集合,省略此步驟
        Element root = doc.getDocumentElement();

        //上面找到了根節(jié)點,這里開始獲取根節(jié)點下的元素集合
        NodeList list = root.getElementsByTagName("book");

        for (int i = 0; i < list.getLength(); i++) {
            //通過item()方法找到集合中的節(jié)點,并向下轉(zhuǎn)型為Element對象
            Element n = (Element) list.item(i);
            //獲取對象中的屬性map,用for循環(huán)提取并打印
            NamedNodeMap node = n.getAttributes();
            for (int x = 0; x < node.getLength(); x++) {
                Node nn = node.item(x);
                System.out.println(nn.getNodeName() + ": " + nn.getNodeValue());
            }
            //打印元素內(nèi)容,代碼很糾結(jié),差不多是個固定格式
            System.out.println("title: " +n.getElementsByTagName("title").item(0).getFirstChild().getNodeValue());
            System.out.println("author: " + n.getElementsByTagName("author").item(0).getFirstChild().getNodeValue());
            System.out.println();
        }
    }

}

 輸出結(jié)果:

相關(guān)文章

  • Spring 4.1+JSONP的使用指南

    Spring 4.1+JSONP的使用指南

    在解釋JSONP之前,我們需要了解下”同源策略“,這對理解跨域有幫助。基于安全的原因,瀏覽器是存在同源策略機制的,同源策略阻止從一個源加載的文檔或腳本獲取或設(shè)置另一個源加載額文檔的屬性。說的簡單點就是瀏覽器限制腳本只能和同協(xié)議、同域名、同端口的腳本進(jìn)行交互。
    2016-04-04
  • 詳解Guava Cache本地緩存在Spring Boot應(yīng)用中的實踐

    詳解Guava Cache本地緩存在Spring Boot應(yīng)用中的實踐

    Guava Cache是一個全內(nèi)存的本地緩存實現(xiàn),本文將講述如何將 Guava Cache緩存應(yīng)用到 Spring Boot應(yīng)用中。具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • java數(shù)學(xué)工具類Math詳解(round方法)

    java數(shù)學(xué)工具類Math詳解(round方法)

    這篇文章主要為大家詳細(xì)介紹了java數(shù)學(xué)工具類Math,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java實現(xiàn)的模糊匹配某文件夾下的文件并刪除功能示例

    Java實現(xiàn)的模糊匹配某文件夾下的文件并刪除功能示例

    這篇文章主要介紹了Java實現(xiàn)的模糊匹配某文件夾下的文件并刪除功能,涉及java針對目錄與文件的遍歷、匹配、判斷、刪除等相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • SpringSecurity整合springBoot、redis實現(xiàn)登錄互踢功能

    SpringSecurity整合springBoot、redis實現(xiàn)登錄互踢功能

    這篇文章主要介紹了SpringSecurity整合springBoot、redis實現(xiàn)登錄互踢,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • Netty + ZooKeeper 實現(xiàn)簡單的服務(wù)注冊與發(fā)現(xiàn)

    Netty + ZooKeeper 實現(xiàn)簡單的服務(wù)注冊與發(fā)現(xiàn)

    服務(wù)注冊和發(fā)現(xiàn)一直是分布式的核心組件。本文介紹了借助 ZooKeeper 做注冊中心,如何實現(xiàn)一個簡單的服務(wù)注冊和發(fā)現(xiàn)。,需要的朋友可以參考下
    2019-06-06
  • IDEA教程之Activiti插件圖文詳解

    IDEA教程之Activiti插件圖文詳解

    這篇文章主要介紹了IDEA教程之Activiti插件圖文詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 實現(xiàn)quartz定時器及quartz定時器原理介紹

    實現(xiàn)quartz定時器及quartz定時器原理介紹

    Quartz是一個大名鼎鼎的Java版開源定時調(diào)度器,功能強悍,使用方便,下面我們看看如何使用它
    2013-12-12
  • 解決SpringBoot跨域的三種方式

    解決SpringBoot跨域的三種方式

    前后端分離是目前的趨勢,解決跨域問題也是老生常談的話題了,我們了解一下什么是域和跨域。域:協(xié)議 + 域名 + 端口;三者完全相同則為同域,反之有其一不同均為不同域??缬蛘埱螅寒?dāng)前【發(fā)起請求】的域和【請求指向】的域?qū)儆诓煌驎r,該次請求稱之為跨域請求
    2021-06-06
  • java 實現(xiàn)將Object類型轉(zhuǎn)換為int類型

    java 實現(xiàn)將Object類型轉(zhuǎn)換為int類型

    這篇文章主要介紹了java 實現(xiàn)將Object類型轉(zhuǎn)換為int類型的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論