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

如何使用XPath提取xml文檔數(shù)據(jù)

 更新時間:2019年08月30日 10:52:14   作者:xiaomin_____  
這篇文章主要介紹了如何使用XPath提取xml文檔數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了XPath提取xml文檔數(shù)據(jù)具體代碼,供大家參考,具體內(nèi)容如下

import java.util.List;
 
import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.junit.Test;
/*
 * 使用XPath查找xml文檔數(shù)據(jù)
 * 
 */
public class DemoXPath {
  @Test
  //輸出book.xml中所有price元素節(jié)點的文本值
  public void test1() throws Exception {
    SAXReader reader = new SAXReader();
    Document document = reader.read("src/main/java/book.xml");
    List<? extends Node> selectNodes = document.selectNodes("http://price");
    for(Node node : selectNodes) {
      String text = node.getText();
      System.out.println(text);
    }
  }
   
  @Test
  //輸出book.xml中第二本書的price元素節(jié)點的文本值
  public void test2() throws Exception {
    SAXReader reader = new SAXReader();
    Document document = reader.read("src/main/java/book.xml");
    Node selectSingleNode = document.selectSingleNode("/bookshelf/book[2]/price");
    String text = selectSingleNode.getText();
    System.out.println(text);
  }
   
  @Test
  //輸出book.xml中第二本書和第三本書的author元素節(jié)點的文本值
  public void test3() throws Exception {
    SAXReader reader = new SAXReader();
    Document document = reader.read("src/main/java/book.xml");
    List<? extends Node> selectSingleNode = document.selectNodes("/bookshelf/book[position()>1]/author");
    for (Node node : selectSingleNode) {
      String text = node.getText();
      System.out.println(text);
    }
  }
   
  @Test
  //輸出book.xml中含有屬性id的所有name的文本值
  public void test4() throws Exception {
    SAXReader reader = new SAXReader();
    Document document = reader.read("src/main/java/book.xml");
    List<? extends Node> selectSingleNode = document.selectNodes("http://name[@id]");
    for (Node node : selectSingleNode) {
      String text = node.getText();
      System.out.println(text);
    }
  }
   
  @Test
  //輸出book.xml中含有屬性id="1111"的name的文本值
  public void test5() throws Exception {
    SAXReader reader = new SAXReader();
    Document document = reader.read("src/main/java/book.xml");
    Node selectSingleNode = document.selectSingleNode("http://name[@id=\"1111\"]");
    String text = selectSingleNode.getText();
    System.out.println(text);
  }
   
  @Test
  //輸出book.xml中含有屬性id="1112"的book的author的文本值
  public void test6() throws Exception {
    SAXReader reader = new SAXReader();
    Document document = reader.read("src/main/java/book.xml");
    Node selectSingleNode = document.selectSingleNode("http://book[name[@id=\"1112\"]]/author");
    String text = selectSingleNode.getText();
    System.out.println(text);
  }
   
  @Test
  //輸出book.xml中第一本book的id的屬性值
  public void test7() throws Exception {
    SAXReader reader = new SAXReader();
    Document document = reader.read("src/main/java/book.xml");
    Node selectSingleNode = document.selectSingleNode("http://book[1]/name");
    String text = selectSingleNode.valueOf("attribute::id");//獲取id屬性
    System.out.println(text);
  }
   
  @Test
  //輸出book.xml中book的name的id的屬性值為1112的對應的sn的屬性值
  public void test8() throws Exception {
    SAXReader reader = new SAXReader();
    Document document = reader.read("src/main/java/book.xml");
    List<? extends Node> selectNodes = document.selectNodes("http://book/name");
    for (Node node : selectNodes) {
      if(node.valueOf("attribute::id").equals("1112")) {
        System.out.println(node.valueOf("attribute::sn"));
      }
    }
  }
}
 <dependency>  
   <groupId>junit</groupId>  
   <artifactId>junit</artifactId>  
   <version>4.11</version>  
  </dependency>  
  <dependency>  
   <groupId>log4j</groupId>  
   <artifactId>log4j</artifactId>  
   <version>1.2.17</version>  
  </dependency>  
  <dependency>  
   <groupId>dom4j</groupId>  
   <artifactId>dom4j</artifactId>  
  </dependency>
<dependency>
 <groupId>jaxen</groupId>
 <artifactId>jaxen</artifactId>
 <version>1.1.6</version>
</dependency>
 <?xml version="1.0" encoding="utf-8"?>
 
<bookshelf>
 <book>
  <name id="1111" sn="sdd8">Tomorrow</name> 
  <author>Hiskell</author> 
  <price>$40</price>
 </book> 
 <book>
  <name id="1112" sn="sdd9">Goodbye to You</name> 
  <author>Giddle</author> 
  <price>$25</price>
 </book> 
 <book>
  <name id="1113" sn="sdd0">Sea and Old</name> 
  <author>Heminw</author> 
  <price>$28</price>
 </book>
</bookshelf>

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java的RxJava庫操作符的用法及實例講解

    Java的RxJava庫操作符的用法及實例講解

    RxJava由于提供異步和基于事件的支持在Android開發(fā)者中獲得了不少人氣,這里我們就來看一下Java的RxJava庫操作符的用法及實例講解,需要的朋友可以參考下
    2016-06-06
  • 使用Java 8 Lambda表達式將實體映射到DTO的操作

    使用Java 8 Lambda表達式將實體映射到DTO的操作

    這篇文章主要介紹了使用Java 8 Lambda表達式將實體映射到DTO的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • java利用pdfbox+poi往pdf插入數(shù)據(jù)

    java利用pdfbox+poi往pdf插入數(shù)據(jù)

    這篇文章主要給大家介紹了關于java利用pdfbox+poi如何往pdf插入數(shù)據(jù)的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-02-02
  • java后臺啟動jar包的一些命令匯總

    java后臺啟動jar包的一些命令匯總

    這篇文章主要介紹了java后臺啟動jar包的一些命令匯總,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-03-03
  • 詳解Java正則表達式中Pattern類和Matcher類

    詳解Java正則表達式中Pattern類和Matcher類

    java.util.regex是一個用正則表達式所訂制的模式來對字符串進行匹配工作的類庫包。包括兩個類Pattern和Matcher Pattern,Pattern是一個正則表達式經(jīng)編譯后的表現(xiàn)模式。Matcher對象是一個狀態(tài)機器,它依據(jù)Pattern對象做為匹配模式對字符串展開匹配檢查。
    2016-12-12
  • Netty中ChannelPoolHandler調(diào)用處理程序詳解

    Netty中ChannelPoolHandler調(diào)用處理程序詳解

    這篇文章主要介紹了Netty中ChannelPoolHandler調(diào)用處理程序詳解,Netty 是基于 Java NIO 的異步事件驅(qū)動的網(wǎng)絡應用框架,使用 Netty 可以快速開發(fā)網(wǎng)絡應用,Netty 提供了高層次的抽象來簡化 TCP 和 UDP 服務器的編程,但是你仍然可以使用底層的 API,需要的朋友可以參考下
    2023-11-11
  • Java語言求解完美數(shù)代碼分析

    Java語言求解完美數(shù)代碼分析

    這篇文章主要介紹了Java語言求解完美數(shù)代碼分析,具有一定參考價值,需要的朋友可以了解下。
    2017-12-12
  • SpringBoot創(chuàng)建并簡單使用的實現(xiàn)

    SpringBoot創(chuàng)建并簡單使用的實現(xiàn)

    這篇文章主要介紹了SpringBoot創(chuàng)建并簡單使用的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • java自旋鎖和JVM對鎖的優(yōu)化詳解

    java自旋鎖和JVM對鎖的優(yōu)化詳解

    這篇文章主要為大家介紹了java自旋鎖和JVM對鎖的優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Windows下安裝ElasticSearch的方法(圖文)

    Windows下安裝ElasticSearch的方法(圖文)

    這篇文章主要介紹了Windows下安裝ElasticSearch的方法(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01

最新評論

来宾市| 中江县| 隆尧县| 江达县| 饶阳县| 朝阳区| 荣昌县| 年辖:市辖区| 乐陵市| 荣昌县| 长兴县| 平邑县| 察哈| 东丰县| 收藏| 莱阳市| 桦南县| 芮城县| 赤水市| 长治市| 湄潭县| 山西省| 景东| 自贡市| 库伦旗| 平和县| 新津县| 韶关市| 石嘴山市| 湘潭县| 德惠市| 凤冈县| 华池县| 广饶县| 成安县| 青田县| 兴宁市| 淮北市| 巴彦淖尔市| 宣汉县| 射洪县|