`

java 操作 xpath

 
阅读更多

include http://www.ibm.com/developerworks/cn/xml/x-javaxpathapi.html

 

 

import java.io.IOException;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import javax.xml.parsers.*;
import javax.xml.xpath.*;

public class Main
{
    public static void main(String[] args) 
    throws ParserConfigurationException, SAXException, 
           IOException, XPathExpressionException {
        
        
     DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
     domFactory.setNamespaceAware(true); // never forget this!
     DocumentBuilder builder = domFactory.newDocumentBuilder();
     Document doc = builder.parse("D:\\books.xml");
     
     XPathFactory factory = XPathFactory.newInstance();
     XPath xpath = factory.newXPath();
     XPathExpression expr = xpath.compile("//book[author='Neal Stephenson']/title/text()");

     Object result = expr.evaluate(doc, XPathConstants.NODESET);
     NodeList nodes = (NodeList) result;
     for (int i = 0; i < nodes.getLength(); i++) {
         System.out.println(nodes.item(i).getNodeValue()); 
     }
   }
}

 

books.xml:

 

  

<inventory>
    <book year="2000">
        <title>Snow Crash</title>
        <author>Neal Stephenson</author>
        <publisher>Spectra</publisher>
        <isbn>0553380958</isbn>
        <price>14.95</price>
    </book>
 
    <book year="2005">
        <title>Burning Tower</title>
        <author>Larry Niven</author>
        <author>Jerry Pournelle</author>
        <publisher>Pocket</publisher>
        <isbn>0743416910</isbn>
        <price>5.99</price>
    <book>
 
    <book year="1995">
        <title>Zodiac</title>
        <author>Neal Stephenson<author>
        <publisher>Spectra</publisher>
        <isbn>0553573862</isbn>
        <price>7.50</price>
    <book>

    <!-- more books... -->
 
</inventory> 

 

 

分享到:
评论

相关推荐

    Java中使用xpath获取xml中的数据

    在Java编程环境中,XPath是一种强大的查询语言,用于在XML文档中查找信息。它允许我们根据节点的名称、属性、值或其他特性来定位XML文档中的特定部分。本篇将深入探讨如何在Java中利用XPath来提取XML文档中的数据,...

    java xml xpath介绍

    Java XML XPath 是一种在XML文档中查找信息的语言,它被广泛用于Java开发中,以便高效地提取和操作XML数据。XPath使用路径表达式来选取XML文档中的节点或节点集,这些表达式类似于文件系统的路径,但针对的是XML文档...

    java 写的xpath生成工具

    - **Java的XPath API**:Java标准库提供`javax.xml.xpath`包,包含`XPath`、`XPathFactory`、`XPathExpression`等类,用于解析和执行XPath表达式。 - **创建XPath对象**:使用`XPathFactory.newInstance()....

    xpath--java框架技术

    Java通过JAXP(Java API for XML Processing)提供对XPath的支持,允许开发者高效地定位和操作XML文档。 XPath的语法基于路径表达式,这些表达式可以指向XML文档中的特定节点。例如,`/html/body/p` 是一个路径...

    java xpath demo

    在Java中,XPath与Java API for XML Processing(JAXP)一起使用,可以方便地解析和操作XML文档。本Java XPath Demo将向你展示XPath在实际开发中的应用。 首先,你需要了解XPath的基本语法。XPath表达式是由路径...

    java使用xpath解析xml示例分享

    在Java中,XPath被用来解析XML文档,查找和操作XML中的特定节点。XPath基于XML文档的树形结构,允许我们通过简洁的表达式定位到树中的任何节点,包括元素、属性、文本等。以下是使用Java的XPath API解析XML文档的一...

    Java开源的xpath解析器Jsoupxpath.zip

    为了在java里也享受xpath的强大与方便但又苦于找不到一款足够强大的xpath解析器,故开发了JsoupXpath。JsoupXpath的实现逻辑清晰,扩展方便,支持几乎全部常用的xpath语法.http://www.cnblogs.com/ 为例 "//a/@href...

    JsonPath使用类似XPATH的语法从JSON提取数据

    JsonPath是一种用于从JSON文档中提取数据的语言,其语法与XPath在XML文档中的操作非常相似。XPath是XML处理中常用的一种路径表达式语言,而JsonPath则是为JSON数据设计的查询语言。在Java开发中,处理JSON格式的数据...

    dom4j和xpath必备jar包

    在实际应用中,"dom4j和xpath必备jar包"通常包含了DOM4J库和XPath相关的类库,如Java的JAXP(Java API for XML Processing)的一部分,这些库文件是Java项目中解析和操作XML所必需的依赖。将这些jar包添加到项目的类...

    xpath的jar包

    5. 数组和集合操作:XPath支持选取多个节点,并可以对这些节点进行操作,如`position()`获取当前节点在结果集中的位置,`last()`获取最后一个节点。 在Java中使用Jaxen,你需要创建一个`XPath`对象,编译XPath...

    xpath读取XML节点

    在Java编程中,JDOM库是一个流行的解析和操作XML的工具,它提供了对XPath的支持,使得我们可以方便地通过XPath表达式来读取XML文档的节点。 首先,理解XPath的基本语法是非常重要的。XPath表达式由路径表达式组成,...

    JAVA通过XPath解析XML性能比较详解

    总的来说,XPath是Java中解析和操作XML的强大工具,结合DOM4J库可以方便地处理各种XML文件。理解XPath的语法规则和处理命名空间的方法,对于提高XML处理的效率和准确性至关重要。通过合理选择解析方法(如SAX、DOM、...

    XPath 教程(XPath Tutorial)多国语言帮助手册.rar

    XPath的应用广泛,包括在XSLT(XML样式表语言)中进行数据转换,以及在各种编程语言如Java、Python、JavaScript中处理XML数据。通过深入学习XPath教程,开发者可以更好地理解和操纵XML文档,提升其在Web开发、数据...

    Java通过XPath获取XML文件中符合特定条件的节点

    Java通过XPath获取XML文件中符合特定条件的节点 Java作为一种流行的编程语言,常用于解析和处理XML文件。在解析XML文件的过程中,有时需要获取符合某些特定条件的节点。Java提供了多种方式来实现该功能,其中一种...

    XPath官方文档 教程

    它们提供了API或者库,如Java的`javax.xml.xpath`,Python的`lxml`,JavaScript的`document.evaluate`,以便于在代码中执行XPath表达式并获取结果。 六、XPath版本差异 XPath 2.0和3.1引入了更多特性,如类型系统、...

    XPath教程(描述XPath的用法)

    XPath是一种在XML文档中查找信息的语言,用于...在XML解析、XSLT转换以及许多现代编程语言(如Java、Python、JavaScript)中,XPath都是一个核心工具。通过熟练掌握XPath,开发者能够高效地从XML文档中提取和操作数据。

    JDOM中XPath.selectNodes()和XPath.selectSingleNode()用法

    JDOM允许开发者以面向对象的方式创建和操作XML文档,使得处理XML数据更为便捷。 XPath在JDOM中的作用是通过表达式来查找XML文档中的特定节点。XPath表达式是一个字符串,可以用来选择XML文档中的元素、属性、文本...

    XPath实例

    对于一个刚开始学习XML的你来说,XPath是一个非常重要的工具,它能帮助你高效地检索和操作XML数据。 XPath实例通常涉及到以下几个核心概念: 1. **节点类型**:XPath中的节点包括元素(element)、属性(attribute...

    xpathDemo.zip

    XPath是XML文档路径语言...通过学习和运行这个DEMO,你可以深入了解如何在Java环境中有效地解析和操作XML数据,同时掌握XPath的强大查询能力。这在处理大量XML数据或需要与XML格式的数据进行交互的项目中非常有用。

Global site tag (gtag.js) - Google Analytics