最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

dom是個功能強(qiáng)大的解析工具,適用于小文檔

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

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

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

也正因為如此,才有后來那些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é)點(diǎn),這里開始獲取根節(jié)點(diǎn)下的元素集合
        NodeList list = root.getElementsByTagName("book");

        for (int i = 0; i < list.getLength(); i++) {
            //通過item()方法找到集合中的節(jié)點(diǎn),并向下轉(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)文章

  • Java獲取電腦真實IP地址的示例代碼

    Java獲取電腦真實IP地址的示例代碼

    這篇文章主要介紹了Java如何獲取電腦真實IP地址,忽略虛擬機(jī)等IP地址的干擾,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-09-09
  • Java執(zhí)行Linux命令簡單代碼舉例

    Java執(zhí)行Linux命令簡單代碼舉例

    這篇文章主要給大家介紹了關(guān)于Java執(zhí)行Linux命令的相關(guān)資料,在開發(fā)的過程中要善于利用JAVA面向?qū)ο缶幊痰膬?yōu)勢,與Linux/Unix命令或Shell腳本的優(yōu)勢,并將二者相結(jié)合,需要的朋友可以參考下
    2023-12-12
  • Java?HashMap中除了死循環(huán)之外的那些問題

    Java?HashMap中除了死循環(huán)之外的那些問題

    這篇文章主要介紹了Java?HashMap中除了死循環(huán)之外的那些問題,這些問題大致可以分為兩類,程序問題和業(yè)務(wù)問題,下面文章我們一個一個來看,需要的小伙伴可以參考一下
    2022-05-05
  • Java分布式事務(wù)管理框架之Seata

    Java分布式事務(wù)管理框架之Seata

    這篇文章主要介紹了Java分布式事務(wù)框架Seata,分布式事務(wù)是指事務(wù)的參與者、支持事務(wù)的服務(wù)器、資源服務(wù)器以及事務(wù)管理器分別位于不同的分布式系統(tǒng)的不同節(jié)點(diǎn)之上
    2022-07-07
  • Java字符串轉(zhuǎn)成二進(jìn)制碼的方法

    Java字符串轉(zhuǎn)成二進(jìn)制碼的方法

    這篇文章主要為大家詳細(xì)介紹了Java字符串轉(zhuǎn)成二進(jìn)制碼的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一
    2017-05-05
  • MyBatis與Spring整合過程實例解析

    MyBatis與Spring整合過程實例解析

    這篇文章主要介紹了MyBatis與Spring整合過程實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Java中replace的用法實例講解

    Java中replace的用法實例講解

    這篇文章主要給大家介紹了關(guān)于Java中replace用法的相關(guān)資料,Java中的replace方法是用于字符串替換的方法,它可以接受兩個參數(shù),第一個參數(shù)是需要被替換的字符串,第二個參數(shù)是替換后的字符串,需要的朋友可以參考下
    2024-04-04
  • 以Java代碼為例講解設(shè)計模式中的簡單工廠模式

    以Java代碼為例講解設(shè)計模式中的簡單工廠模式

    簡單來說,工廠模式就是按照需求來返回一個類型的對象,使用工廠模式的意義就是,如果對象的實例化與代碼依賴太大的話,不方便進(jìn)行擴(kuò)展和維護(hù),使用工廠的目的就是使對象的實例化與主程序代碼就行解耦.來具體看一下:
    2016-05-05
  • Java中String、StringBuffer、StringBuilder的區(qū)別詳解

    Java中String、StringBuffer、StringBuilder的區(qū)別詳解

    java中String、StringBuffer、StringBuilder是編程中經(jīng)常使用的字符串類,他們之間有什么區(qū)別呢?下面小編給大家總結(jié)了Java中String、StringBuffer、StringBuilder的區(qū)別詳解,需要的朋友參考下吧
    2016-06-06
  • JPA如何使用nativequery多表關(guān)聯(lián)查詢返回自定義實體類

    JPA如何使用nativequery多表關(guān)聯(lián)查詢返回自定義實體類

    這篇文章主要介紹了JPA如何使用nativequery多表關(guān)聯(lián)查詢返回自定義實體類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評論

临猗县| 惠安县| 丹江口市| 彭山县| 潢川县| 翼城县| 台东市| 兴海县| 驻马店市| 秀山| 桦甸市| 三门峡市| 丰县| 上栗县| 新化县| 陇南市| 台山市| 正安县| 石阡县| 射洪县| 蓝田县| 合肥市| 宁安市| 公安县| 汪清县| 富阳市| 哈尔滨市| 林口县| 墨玉县| 济源市| 霍州市| 潼关县| 济阳县| 专栏| 大姚县| 鹤山市| 城固县| 石狮市| 望谟县| 巴林左旗| 田阳县|