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

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

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示例分享

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本中文字幕在线视频 | 日本无卡无吗中文免费 | 免费国产在线观看 | 成人精品一区二区三区 | bbox撕裂bass孕妇 | 亚洲丰满女人ass硕大 | 亚洲国产成人精品无码区5566 | 羞羞视频免费观看网站 | 国产成人 免费观看 | avidolz性教师| 国产精品一区二区三区久久 | 天堂8在线天堂资源bt | 久久精品热在线观看85 | 91亚洲在线 | 丰满肥臀风间由美357在线 | 精品无人乱码一区二区三区 | 性鸥美| 午夜一级 | 极品美女aⅴ高清在线观看 极品ts赵恩静和直男激战啪啪 | 精品国产线拍大陆久久尤物 | 亚洲精品一区在线观看 | 天天爽天天干天天操 | 亚洲国产成人精品 | 国产一级特黄在线播放 | 久久草香蕉频线观 | 精品一区二区免费视频蜜桃网 | 欧美日韩一区二区三区免费不卡 | 四虎国产欧美成人影院 | 欧美日韩一区视频 | 国产精品拍拍拍福利在线观看 | aaa免费看| www.色啪啪.com| 青青在线 | 好男人资源在线观看免费的 | 97午夜| 国产成人高清亚洲一区91 | 天天爽天天 | 久久久无码精品亚洲欧美 | 国产美女久久久久 | 国产一区在线免费观看 | 激情视频在线播放 |