一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java使用xpath解析xml示例分享

java使用xpath解析xml示例分享

2019-11-15 14:44java教程網 JAVA教程

XPath基于XML的樹狀結構,提供在數據結構樹中找尋節點的能力,下面是一小示例,需要的朋友可以參考下

XPath即為XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。XPath基于XML的樹狀結構,提供在數據結構樹中找尋節點的能力。起初 XPath 的提出的初衷是將其作為一個通用的、介于XPointer與XSL間的語法模型。但是 XPath 很快的被開發者采用來當作小型查詢語言。

XPathTest.java

復制代碼代碼如下:


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對象
  DocumentBuilder builder = DocumentBuilderFactory.newInstance()
    .newDocumentBuilder();
  Document document = builder.parse(new File("bookstore.xml"));

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

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

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

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

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

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

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

  // 獲取節點集合
  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

復制代碼代碼如下:

<?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>



運行效果

java使用xpath解析xml示例分享

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产韩国欧美在线不卡 | 亚洲欧美在线免费观看 | boobsmilking流奶水 | 日韩在线天堂 | 摸进老太婆的裤裆小说 | 欧美日韩在线观看区一二 | 小小水蜜桃视频高清在线观看免费 | 亚洲伦理一区 | 亚洲精品乱码久久久久久蜜桃图片 | 火影忍者小南裸羞羞漫画 | 四神集团1涨奶是第几章 | 女人爽到喷水的视频免费看 | 91私密保健女子养生spa | 国产a高清 | juliaann丝袜精品系列 | 亚洲欧美精品一区天堂久久 | 好大水好多好爽好硬好深视频 | 2022色婷婷综合久久久 | 日韩成人在线免费视频 | 日韩高清在线高清免费 | 高h全肉np触手 | 色中文网 | 四虎影视在线永久免费观看 | 成人在线日韩 | 国产成人啪精品视频站午夜 | 嫩交18xxxx| 亚洲国产精品嫩草影院久久 | ckinese中国男同gay男男 | 2019中文字幕在线视频 | 性派对videofreeparty | 天天做天天爱天天操 | 色婷婷影院在线视频免费播放 | 久久亚洲一级α片 | 日韩精品一区二区三区老鸭窝 | 邪恶肉肉全彩色无遮琉璃神社 | 果冻传媒和91制片厂网站软件 | 我与恶魔的h生活ova | 欧美性色黄大片四虎影视 | 国产成人高清视频 | h杯奶水太多h | 亚洲精品视频在线 |