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

java使用xpath解析xml示例分享

 更新時(shí)間:2014年03月23日 09:18:37   作者:  
XPath基于XML的樹(shù)狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹(shù)中找尋節(jié)點(diǎn)的能力,下面是一小示例,需要的朋友可以參考下

XPath即為XML路徑語(yǔ)言(XML Path Language),它是一種用來(lái)確定XML文檔中某部分位置的語(yǔ)言。XPath基于XML的樹(shù)狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹(shù)中找尋節(jié)點(diǎn)的能力。起初 XPath 的提出的初衷是將其作為一個(gè)通用的、介于XPointer與XSL間的語(yǔ)法模型。但是 XPath 很快的被開(kāi)發(fā)者采用來(lái)當(dāng)作小型查詢(xún)語(yǔ)言。

XPathTest.java

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

package com.hongyuan.test;

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class XPathTest {

 public static void main(String[] args) throws ParserConfigurationException,
   SAXException, IOException, XPathExpressionException {

  // 解析文件,生成document對(duì)象
  DocumentBuilder builder = DocumentBuilderFactory.newInstance()
    .newDocumentBuilder();
  Document document = builder.parse(new File("bookstore.xml"));

  // 生成XPath對(duì)象
  XPath xpath = XPathFactory.newInstance().newXPath();

  // 獲取節(jié)點(diǎn)值
  String webTitle = (String) xpath.evaluate(
    "/bookstore/book[@category='WEB']/title/text()", document,
    XPathConstants.STRING);
  System.out.println(webTitle);

  System.out.println("===========================================================");

  // 獲取節(jié)點(diǎn)屬性值
  String webTitleLang = (String) xpath.evaluate(
    "/bookstore/book[@category='WEB']/title/@lang", document,
    XPathConstants.STRING);
  System.out.println(webTitleLang);

  System.out.println("===========================================================");

  // 獲取節(jié)點(diǎn)對(duì)象
  Node bookWeb = (Node) xpath.evaluate(
    "/bookstore/book[@category='WEB']", document,
    XPathConstants.NODE);
  System.out.println(bookWeb.getNodeName());

  System.out.println("===========================================================");

  // 獲取節(jié)點(diǎn)集合
  NodeList books = (NodeList) xpath.evaluate("/bookstore/book", document,
    XPathConstants.NODESET);
  for (int i = 0; i < books.getLength(); i++) {
   Node book = books.item(i);
   System.out.println(xpath.evaluate("@category", book,
     XPathConstants.STRING));
  }

  System.out.println("===========================================================");
 }

}

bookstore.xml

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

<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
 <book category="COOKING">
   <title lang="en">Everyday Italian</title>
   <author>Giada De Laurentiis</author>
   <year>2005</year>
   <price>30.00</price>
 </book>
 <book category="CHILDREN">
   <title lang="en">Harry Potter</title>
   <author>J K. Rowling</author>
   <year>2005</year>
   <price>29.99</price>
 </book>
 <book category="WEB">
   <title lang="en">Learning XML</title>
   <author>Erik T. Ray</author>
   <year>2003</year>
   <price>39.95</price>
 </book>
</bookstore>


運(yùn)行效果

相關(guān)文章

  • Java Hutool 包工具類(lèi)推薦 ExcelUtil詳解

    Java Hutool 包工具類(lèi)推薦 ExcelUtil詳解

    這篇文章主要介紹了Java Hutool 包工具類(lèi)推薦 ExcelUtil詳解,需要引入hutool包,版本號(hào)可根據(jù)實(shí)際情況更換,除hutool包之外,還需要引入操作Excel必要包,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Java 操作Properties配置文件詳解

    Java 操作Properties配置文件詳解

    本篇文章主要介紹了Java 操作Properties配置文件詳解,詳細(xì)的介紹了Properties和主要方法,有興趣的可以了解下
    2017-05-05
  • MyBatis動(dòng)態(tài)SQL與緩存原理深入分析

    MyBatis動(dòng)態(tài)SQL與緩存原理深入分析

    這篇文章主要介紹了MyBatis動(dòng)態(tài)SQL與緩存原理,Mybatis框架的動(dòng)態(tài)SQL技術(shù)是一種根據(jù)特定條件動(dòng)態(tài)拼裝SQL語(yǔ)句的功能,它存在的意義是為了解決拼接SQL語(yǔ)句字符串時(shí)的痛點(diǎn)問(wèn)題
    2023-02-02
  • Java異常處理的12條軍規(guī)總結(jié)

    Java異常處理的12條軍規(guī)總結(jié)

    這篇文章主要給大家介紹了關(guān)于Java異常處理的12條軍規(guī),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Spring Boot整合mybatis并自動(dòng)生成mapper和實(shí)體實(shí)例解析

    Spring Boot整合mybatis并自動(dòng)生成mapper和實(shí)體實(shí)例解析

    本文是小編給大家總結(jié)的關(guān)于Spring Boot整合mybatis并自動(dòng)生成mapper和實(shí)體的內(nèi)容,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-05-05
  • Spring Session的使用示例

    Spring Session的使用示例

    最近團(tuán)隊(duì)一個(gè)項(xiàng)目需要使用Session,之前沒(méi)有在實(shí)際項(xiàng)目中使用過(guò)Spring-Session,這里記錄一下使用的過(guò)程
    2021-06-06
  • java建立子類(lèi)方法總結(jié)

    java建立子類(lèi)方法總結(jié)

    在本篇文章里小編給大家分享了關(guān)于java建子類(lèi)的步驟和方法,需要的朋友們跟著學(xué)習(xí)下。
    2019-05-05
  • Spring data jpa的使用與詳解(復(fù)雜動(dòng)態(tài)查詢(xún)及分頁(yè),排序)

    Spring data jpa的使用與詳解(復(fù)雜動(dòng)態(tài)查詢(xún)及分頁(yè),排序)

    這篇文章主要介紹了Spring data jpa的使用與詳解(復(fù)雜動(dòng)態(tài)查詢(xún)及分頁(yè),排序),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • java中單雙斜杠的使用圖文詳解

    java中單雙斜杠的使用圖文詳解

    JAVA中的斜杠有正斜杠與反斜杠之分,正斜杠,一般就叫做斜杠,下面這篇文章主要給大家介紹了關(guān)于java中單雙斜杠使用的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 完美解決Java中的線(xiàn)程安全問(wèn)題

    完美解決Java中的線(xiàn)程安全問(wèn)題

    下面小編就為大家?guī)?lái)一篇完美解決Java中的線(xiàn)程安全問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08

最新評(píng)論

拉萨市| 会泽县| 雷州市| 高碑店市| 璧山县| 德昌县| 辽阳县| 鞍山市| 黎城县| 松桃| 特克斯县| 宿州市| 平邑县| 潢川县| 中西区| 郁南县| 合作市| 天祝| 山丹县| 宜川县| 吉木萨尔县| 小金县| 浠水县| 衡阳市| 栾川县| 通辽市| 留坝县| 固安县| 彰化县| 峨眉山市| 连平县| 荣成市| 长治市| 政和县| 吴川市| 甘肃省| 巩义市| 株洲县| 汽车| 全州县| 大英县|