XPath表达式的上下文——XPath语法详解系列(一)

  • XPath 表达式的上下文

基本 XPath 表达式

以下是基本的 XPath 表达式类型:

1、当前上下文

以句点和正斜杠 (./) 作为前缀的表达式明确使用当前上下文作为上下文。例如,以下表达式引用当前上下文中的所有 <author> 元素:

./author

注意,此表达式等效于以下表达式:

author
2、文档

正斜杠 (/) 为前缀的表达式使用文档树的根 作为上下文。例如,以下表达式引用此文档根的 <bookstore> 元素:

/bookstore
3、 根元素

使用正斜杠后接星号 (/*) 的表达式将使用根元素 作为上下文。例如,以下表达式查找文档的根元素(注:虽然根的是 * 号,但文档只有一个根元素,所以匹配的也只是一个根元素):

/*
4、递归下降

使用双正斜杠 (//) 的表达式指示可以包括零个或多个层次结构级别的搜索。如果此运算符出现在模式的开头,上下文相对于文档的根。例如,以下表达式引用当前文档中任意位置的所 有 <author> 元素:

//author

.// 前缀指示上下文从层次结构中当前上下文所指示的级别开始。

5、特定元素

以元素名开头的表达式引用特定元素的查询,从当前上下文节点开始。例如,以下表达式引用当前上下文节点中 <images> 元素内的 <background.jpg> 元素:

images/background.jpg

以下表达式引用当前上下文节点中 <bookstore> 元素内的 <book> 元素的集合:

bookstore/book

以下表达式引用当前上下文节点中的所有 <first.name> 元素:

first.name

DOM 中的上下文

在 Microsoft XML DOM 中使用 XPath 表达式时,上下文是调用其 selectNodes 方法或 selectSingleNode 方法的 Node 对象。

 

如果直接从 DOM 使用 XPath,应从特定节点定义上下文,如Mozilla中的XPathEvaluator的方法evaluate(String expression , Node contextNode , XPathNSResolver resolver , short type , nsISupports result ) ,第二个参数就是要传递进去的上下文节点。

 

XSLT 中的上下文

如果直接从 XSLT 使用 XPath,应通过当前节点定义上下文。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值