当前位置: 首页 > 图文教程 > XML家族 > XML > 在XPath查询中指定轴(转自MSSQL手册)

XML
一个以Javascript+xml的树型列表
用ajax技术制作在线歌词搜索功能
网络编程:如何生成XML数据
如何让WebServer返回指定XML内容
网页编程必看:XML文法分析
编程:如何生成XML数据
用PHP与XML联手进行网站编程
Javascript+XML实现分页的实例
XML技巧五则
使用xmlhttp为网站增加域名查询功能
详解XML-RPC和JAX-RPC
XML在.net平台下的自定义控件的应用(1)
XML在.net平台下的自定义控件的应用(2)
基础知识认识XML:下一代网络的基石
Web2.0岁月:使用AJAX技术的十大理由
了解 XML实现通用的数据访问
AJAX基础教程及初步使用
Web设计中如何使用XML数据
AJAX应用之草稿自动保存
XML 中的常见问题(一)

XML 中的 在XPath查询中指定轴(转自MSSQL手册)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 100 ::
收藏到网摘: n/a

以下示例显示如何在 XPath 查询中指定轴。这些示例中的 XPath 查询都在 SampleSchema1.xml 中所包含的映射架构上指定。有关此示例架构的信息,请参见示例 XPath 查询。

示例

A. 检索上下文节点的子元素

此 XPath 查询选定上下文节点的所有 <Customer> 子元素:

在此查询中,child 是轴,Customer 是节点测试(如果 Customer 是 <element> 节点,则该测试为 TRUE,因为 <element> 是与 child 轴相关联的主要节点类型)。 

child 是默认轴。因此,可将该查询编写为:


/Employee

在映射架构上测试 XPath 查询

创建下面的模板 (MyTemplate.xml) 并将其保存在与 template 虚拟名称相关联的目录中。 


<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <sql:xpath-query mapping-schema="SampleSchema2.xml">
    /Employee
  </sql:xpath-query>
</ROOT>

下面的 URL 执行模板: 
http://IISServer/VirtualRoot/template/MyTemplate.xml

可直接在 URL 中指定 XPath 查询:
http://IISServer/nwind/schema/SampleSchema1.xml/child::Customer?root=root

虚拟名称 schema 是 schema 类型。架构文件存储在与 schema 类型虚拟名称相关联的目录下。root 参数用于为所得到的 XML 文档指定顶层元素(root 可为任意值)。

下面是模板执行的部分结果集:


<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> 
  <Employee EmployeeID="1" LastName="Davolio" 
            FirstName="Nancy" Title="Sales Representative" /> 
  <Employee EmployeeID="2" LastName="Fuller" 
            FirstName="Andrew" Title="Vice President, Sales" /> 
   ...
</ROOT>

B. 检索上下文节点的孙节点

此 XPath 查询选定上下文节点的 <Customer> 子元素的所有 <Order> 子元素:


/child::Customer/child::Order

在此查询中,child 是轴,Customer 和 Order 是节点测试(如果 Customer 和 Order 是 <element> 节点,则这些节点测试为 TRUE,因为 <element> 节点是 child 轴的主要节点)。对于每个匹配 <Customer> 的节点,将匹配 <Orders> 的节点添加到结果中。结果集中只返回 <Order>。

child 是默认轴。因此,可将此查询指定为:


/Customer/Order

在映射架构上测试 XPath 查询

创建下面的模板 (MyTemplate.xml) 并将其保存在与 template 虚拟名称相关联的目录中。 


<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <sql:xpath-query mapping-schema="SampleSchema1.xml">
    /Customer/Order
  </sql:xpath-query>
</ROOT>