这篇文章主要介绍在XPath查询中指定轴的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
以下示例显示如何在 XPath 查询中指定轴。这些示例中的 XPath 查询都在 SampleSchema1.xml 中所包含的映射架构上指定。有关此示例架构的信息,请参见示例 XPath 查询。
示例
A. 检索上下文节点的子元素
此 XPath 查询选定上下文节点的所有 <Customer> 子元素:
/child::Employee
在此查询中,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>
以上是“在XPath查询中指定轴的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。