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

Java獲取XML節(jié)點(diǎn)總結(jié)之讀取XML文檔節(jié)點(diǎn)的方法

 更新時(shí)間:2016年10月04日 20:04:57   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇Java獲取XML節(jié)點(diǎn)總結(jié)之讀取XML文檔節(jié)點(diǎn)的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

dom4j是Java的XML API,用來(lái)讀寫(xiě)XML文件的。目前有很多場(chǎng)景中使用dom4j來(lái)讀寫(xiě)xml的。

要使用dom4j開(kāi)發(fā),需要下載導(dǎo)入dom4j相應(yīng)的jar文件。

官網(wǎng)下載:http://www.dom4j.org/dom4j-1.6.1/

github下載:http://dom4j.github.io/

下載解壓之后如圖所示:

我們只需要把dom4j-1.6.1.jar文件構(gòu)建到我們開(kāi)發(fā)項(xiàng)目中就可以了。

下面就以Eclipse創(chuàng)建java項(xiàng)目的構(gòu)建方法為例說(shuō)明:

聲明:本Java項(xiàng)目的開(kāi)發(fā)環(huán)境JDK1.8,Eclipse版本 Neon.1 Release (4.6.1)

首先創(chuàng)建一個(gè)demo項(xiàng)目:

在demo項(xiàng)目中創(chuàng)建一個(gè)lib文件,把dom4j-1.6.1.jar文件拷貝到lib中,然后右鍵dom4j-1.6.1jar文件。如圖所示:

點(diǎn)擊Add to Bulid Path即可構(gòu)建到項(xiàng)目中去了。
導(dǎo)入成功如圖所示:

在項(xiàng)目開(kāi)發(fā)的過(guò)程中可以參考docs文件夾的(幫助文檔),找到index.html打開(kāi),點(diǎn)擊Quick start可以通過(guò)幫助文檔進(jìn)行學(xué)習(xí) dom4j進(jìn)行xml的解析。
如圖所示:

下面我將以詳細(xì)例子去介紹Java操作xml文件,文件名為exmple.java。

package vastsum;

import java.io.File;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

/**
 * 讀取下xml文檔,獲得document對(duì)象。
 * 本文為xml連載第一篇,以下代碼可以直接運(yùn)行,結(jié)尾附上源碼下載地址。
 */
class exmple {
  public static void main(String[] args) throws DocumentException
  {
    SAXReader reader = new SAXReader();
    Document document = reader.read(new File("./src/contact.xml"));
    
    /**
     * 節(jié)點(diǎn)對(duì)象的操作方法
     */
    
    //獲取文檔根節(jié)點(diǎn)
    Element root = document.getRootElement();
    //輸出根標(biāo)簽的名字
    System.out.println(root.getName());
    
    
    //獲取根節(jié)點(diǎn)下面的所有子節(jié)點(diǎn)(不包過(guò)子節(jié)點(diǎn)的子節(jié)點(diǎn))
    List<Element> list = root.elements() ;
    //遍歷List的方法
    for (Element e:list){
      System.out.println(e.getName());
    }
    
    
    //獲得指定節(jié)點(diǎn)下面的子節(jié)點(diǎn)
    Element contactElem = root.element("contact");//首先要知道自己要操作的節(jié)點(diǎn)。 
    List<Element> contactList = contactElem.elements();
    for (Element e:contactList){
      System.out.println(e.getName());
    }  
    
    
    //調(diào)用下面獲取子節(jié)點(diǎn)的遞歸函數(shù)。
    getChildNodes(root);
    
    
    //獲得當(dāng)前標(biāo)簽下指定名稱(chēng)的第一個(gè)子標(biāo)簽
    Element conElem = root.element("contact");
    System.out.println(conElem.getName());
    
    
    //獲得更深層次的標(biāo)簽(一層一層的獲取)
    Element nameElem = root.element("contact").element("name");
    System.out.println(nameElem.getName());
  }
  
  //遞歸查詢(xún)節(jié)點(diǎn)函數(shù),輸出節(jié)點(diǎn)名稱(chēng)
  private static void getChildNodes(Element elem){
    System.out.println(elem.getName());
    Iterator<Node> it=  elem.nodeIterator();
    while (it.hasNext()){
      Node node = it.next();
      if (node instanceof Element){
        Element e1 = (Element)node;
        getChildNodes(e1);
        }
      
      }
    }
  
  
}

下面是對(duì)應(yīng)的xml文件,文件名為contact.xml:

<?xml version="1.0" encoding="utf-8"?>
<contactList>
  <contact id="001" class="style">
    <name>張三</name>
    <age>20</age>
    <phone>134222223333</phone>
    <email>zhangsan@qq.com</email>
    <qq>432221111</qq>
  </contact>
  <contact id="002">
    <name>李四</name>
    <age>20</age>
    <phone>134222225555</phone>
    <email>lisi@qq.com</email>
    <qq>432222222</qq>
  </contact>
  <contactTwo>
    <name>王五</name>
    <age>32</age>
    <phone>465431341</phone>
    <emali>af@qq.com</emali>
    <qq>46164694</qq>
  </contactTwo>
  <test>測(cè)試</test>
  <test>其他用途</test>
</contactList>

兩個(gè)文件的目錄如題所示:

以上就是小編為大家?guī)?lái)的Java獲取XML節(jié)點(diǎn)總結(jié)之讀取XML文檔節(jié)點(diǎn)的方法全部?jī)?nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • 簡(jiǎn)單聊一聊Java線(xiàn)程池ThreadPoolExecutor

    簡(jiǎn)單聊一聊Java線(xiàn)程池ThreadPoolExecutor

    在使用線(xiàn)程池之后,開(kāi)啟線(xiàn)程就變成了在線(xiàn)程池當(dāng)中找到一個(gè)空閑的線(xiàn)程,銷(xiāo)毀線(xiàn)程變成了歸還線(xiàn)程到線(xiàn)程池的過(guò)程,下面這篇文章主要給大家介紹了關(guān)于Java線(xiàn)程池ThreadPoolExecutor的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • 一文帶你了解如何正確使用MyBatisPlus

    一文帶你了解如何正確使用MyBatisPlus

    在本篇文章中,我們獎(jiǎng)通過(guò)?MyBatis?Plus?來(lái)對(duì)一張表進(jìn)行?CRUD?操作,來(lái)看看是如何簡(jiǎn)化我們開(kāi)發(fā)的。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12
  • 使用Feign設(shè)置Token鑒權(quán)調(diào)用接口

    使用Feign設(shè)置Token鑒權(quán)調(diào)用接口

    這篇文章主要介紹了使用Feign設(shè)置Token鑒權(quán)調(diào)用接口,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java實(shí)現(xiàn)文件夾中內(nèi)容定時(shí)刪除

    Java實(shí)現(xiàn)文件夾中內(nèi)容定時(shí)刪除

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)文件夾中內(nèi)容定時(shí)刪除,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • java 中如何獲取字節(jié)碼文件的相關(guān)內(nèi)容

    java 中如何獲取字節(jié)碼文件的相關(guān)內(nèi)容

    這篇文章主要介紹了java 中如何獲取字節(jié)碼文件的相關(guān)內(nèi)容的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值

    Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值

    這篇文章主要介紹了Spring Boot如何配置內(nèi)置Tomcat的maxPostSize值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • spring 整合JDBC和AOP事務(wù)的方法

    spring 整合JDBC和AOP事務(wù)的方法

    這篇文章主要介紹了spring 整合JDBC和AOP事務(wù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Springboot全局異常捕獲及try catch區(qū)別解析

    Springboot全局異常捕獲及try catch區(qū)別解析

    這篇文章主要介紹了Springboot全局異常捕獲及try catch區(qū)別解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 使用.NET Core3.0創(chuàng)建一個(gè)Windows服務(wù)的方法

    使用.NET Core3.0創(chuàng)建一個(gè)Windows服務(wù)的方法

    這篇文章主要介紹了使用.NET Core3.0創(chuàng)建一個(gè)Windows服務(wù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • 淺談java IO流——四大抽象類(lèi)

    淺談java IO流——四大抽象類(lèi)

    這篇文章主要介紹了java IO流——四大抽象類(lèi),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論

凤阳县| 新竹市| 乐山市| 尤溪县| 墨脱县| 石台县| 阿拉善盟| 新余市| 奉新县| 许昌市| 定边县| 武冈市| 阿鲁科尔沁旗| 阳谷县| 盐池县| 乐至县| 新宾| 南乐县| 双桥区| 洛南县| 山西省| 慈利县| 开江县| 商水县| 兴义市| 兴文县| 青川县| 阳山县| 兴化市| 普陀区| 阿合奇县| 大埔区| 景泰县| 班戈县| 六盘水市| 嘉祥县| 保山市| 松江区| 卓尼县| 永定县| 宁南县|