`
liugang594
  • 浏览: 987593 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XPath简介与使用三

阅读更多

七、在Java中使用Xpath

 

在java1.5中推出了一个javax.xml.xpath包专门用来在java中使用Xpath表达式来读取xml。

 

1. 数据类型

 

在学习之前首先需要注意的是:Xpath的数据并不与Java有一一对应关系,Xpath1.0只声明了四种数据类型:

 

  • node-set
  • number
  • boolean
  • string
  •  

    对应到java就是:

     

  • number 映射为 java.lang.Double
  • string 映射为 java.lang.String
  • boolean 映射为 java.lang.Boolean
  • node-set 映射为 org.w3c.dom.NodeList
  •  

    因此,在使用java的xpathAPI时,需要注意返回类型:

     

    public Object evaluate(Object item, QName returnType)throws XPathExpressionException;
    
    public String evaluate(Object item)throws XPathExpressionException;
    
    public Object evaluate(InputSource source, QName returnType)throws XPathExpressionException;
    
    public String evaluate(InputSource source)throws XPathExpressionException;

     

    不指定返回类型时,缺省返回类型为String。指定返回类型时,需要把返回值由Object类型强制转换成对应的返回类型。

     

     

    2. API的使用

    类似于Dom,要得到一个Xpath对象,可以如下使用:

     

    		XPathFactory factory = XPathFactory.newInstance();
    		XPath xpath = factory.newXPath();
    		XPathExpression expression = xpath.compile("/bookstore//book/title/text()");

     

    还是以之前的xml文档为例。要得到这个表达式的结果,我们先要得到一个输入对象,例如一个document:

     

    		DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
    		DocumentBuilder documentBuilder = builderFactory.newDocumentBuilder();
    		Document document = documentBuilder.parse(new File("books.xml"));
    		NodeList list = (NodeList) expression.evaluate(document,XPathConstants.NODESET);

     

    这里可以看出,在使用Xpath的时候,我们好像需要很清楚的知道返回结果是什么。否则就不能得到意想的结果。

     

    最后,我们得到一个title的list值:

     

    		for(int i = 0;i<list.getLength();i++){
    			System.out.println(list.item(i).getNodeValue());
    		}
    Everyday Italian
    Harry Potter
    XQuery Kick Start
    Learning XML

     

    分享到:
    评论

    相关推荐

      使用路径表达式在 XML 文档中进行导航(xpath简介)

      ### 使用路径表达式在 XML 文档中进行导航 (XPath 简介) #### 一、XPath 的定义 XPath 是一种用于查找 XML 文档中的信息的语言。它使用路径表达式来选择 XML 文档中的节点或集合节点。XPath 被设计为 XSLT、...

      xpath语法与函数

      #### XPath简介 XPath是一种在XML文档中查找信息的语言,它用于在复杂的XML结构中定位特定的元素或属性。XPath对于理解并操作XML文档至关重要,尤其在XSLT转换、XQuery查询及XPointer定位中扮演核心角色。 #### ...

      XPath 使用方法

      #### 一、XPath简介 XPath 是一门专门用于在 XML 文档中查找信息的语言。它能够帮助用户有效地浏览 XML 文档结构,并从中抽取特定数据。XPath 的重要性不仅体现在其本身的功能上,还在于它是 W3C XSLT 标准的关键...

      Xpath教程 如何使用xpath

      #### 一、XPath简介与节点类型 XPath是一种用于导航XML文档的语言。它使用路径表达式来选择XML文档中的节点或集合。XPath可以用来在XML文档中定位到任何位置,并且能够非常方便地提取所需的数据。XPath支持以下七种...

      python神奇xpath

      #### XPath简介 XPath是一种用于在XML文档中查找信息的强大查询语言,同时也适用于HTML文档的解析。XPath允许我们通过元素和属性来进行导航,并从中提取所需的信息。相较于复杂的正则表达式,XPath提供了更为简洁且...

      XPath 2.0 程序员参考

      #### 三、XPath 2.0 应用场景 XPath 2.0 的强大功能使其在多种场景下都有广泛的应用: - **XML 数据查询**:XPath 2.0 可以用来快速定位 XML 文档中的特定元素或属性,从而实现高效的查询和检索。 - **XSLT 转换**...

      xPath-API文档

      1. XPath简介:介绍XPath的基本概念和作用。 2. 路径表达式:讲解如何编写路径表达式来选取节点。 3. 节点测试和轴:详细解释各种节点测试和轴的用法。 4. 函数和运算符:阐述XPath提供的内置函数和逻辑、比较及算术...

      【学习 XPath】.pdf

      XPath 教程是一个系统的学习资源,它包括 XPath 简介、XPath 节点、XPath 语法、XPath 轴、XPath 运算符、XPath 函数、XPath 实例等内容。通过学习 XPath 教程,您将掌握 XPath 的基础知识和应用技能。 因此,XPath...

      XPath详解PDF版

      #### 一、XPath简介 XPath是一种在XML文档中查找信息的语言。它用于在XML树结构中导航,并且能够返回所匹配节点或节点集。XPath的强大之处在于其简洁性和灵活性,允许用户轻松地从复杂的XML文档中提取所需的数据。 ...

      用xpath精确定位节点元素

      #### XPath简介与重要性 XPath是一种用于在XML文档中查找信息的语言。它被设计用来在XML文档中导航,帮助开发者精确地定位和选取节点。XPath在XSLT(Extensible Stylesheet Language Transformations)中扮演着核心...

      js中使用xpath来解析xml元素.docx

      #### XPATH简介 XPath是一种在XML文档中查找信息的语言。它使用路径表达式来选择节点或集合节点,并且能够处理来自XML文档的数据,为构建XSLT这样的XML应用程序提供了强有力的支持。XPath不仅用于XSLT,也可以用于...

      XPath Checker使用

      #### 三、XPath Checker 使用指南 1. **启动 XPath Checker**: - 安装完插件后,在任何网页上右键点击,选择“View XPath...”选项来启动 XPath Checker。 2. **输入 XPath 表达式**: - 在弹出的对话框中输入...

      XPath基础用法详解

      1. **XPath简介** XPath是W3C标准的一部分,它的主要目的是为了提供一种简洁且相对独立的方式来定位XML文档中的特定部分。通过XPath,开发者可以快速地选取和操作XML文档的结构信息,用于数据提取、验证和转换。 2...

      XPath语法详细介绍..XPath语法详细介绍

      #### XPath简介 XPath是一种用于在XML文档中进行导航的查询语言。它提供了简洁、高效的方式来定位和提取文档中的特定部分。XPath不仅仅适用于XML文档的搜索,还是XSLT(一种用于转换XML文档的语言)的核心组成部分。...

      dom4j 和xpath

      XPath简介: XPath是W3C定义的一种语言,用于在XML文档中找到信息。它可以定位XML文档中的元素、属性、文本节点等,甚至可以进行复杂的查询和计算。 2. XPath的主要功能: - 查找节点:XPath表达式可以返回文档中...

      C#操作xml之xpath语法

      #### XPath简介 XPath是一种用于在XML文档中查询和定位元素与属性的强大语言。其语法类似于文件系统的路径表达式,但更灵活,允许使用模式匹配和条件筛选。通过XPath,开发者能够精确地选取XML文档中的特定部分,...

      xpath学习笔记 比较入门大家共享

      1. XPath简介 XPath的核心在于其路径表达式,它类似于我们熟悉的文件系统路径,但用于导航XML文档的结构。XPath还包含了一个丰富的标准函数库,涵盖了字符串、数值、日期时间比较、节点处理、QName处理等多种功能。...

      XPath 简单语法

      #### 一、XPath简介 XPath是一种在XML文档中查找信息的语言,类似于HTML中的CSS选择器或SQL中的查询语句。XPath能够快速定位到XML文档中的某个节点或者一组节点,并且可以用来抽取节点数据或者进行条件判断等操作。...

    Global site tag (gtag.js) - Google Analytics