码迷,mamicode.com
首页 > 其他好文 > 详细

XPath语法简介

时间:2018-04-10 21:54:22      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:ant   learning   lang   参考   auth   描述   learn   符号   选择   

XPath是一种在xml中查找信息的语言,具体可参考W3school XPath教程
XPath是以路径表达式来选择XML文档中的节点或节点集
===

XPath节点(Node)

在 XPath 中,XML 文档是被作为节点树来对待的,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>  (文档节点/根节点)

<book>  (元素节点)
  <title lang="en">Harry Potter</title>  (元素节点,lang为属性节点,Harry Potter为文本节点)
  <author>J K. Rowling</author> 
  <year>2005</year>
  <price>29.99</price>
</book>

<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>

</bookstore>

节点关系
父(Parent),子(Children),同胞(sibling),先辈(Ancestor),后代(Descendant)

XPath语法

通过路径表达式来选取节点,语法如下表:
| 表达式 | 描述 | 案例 |
|------------- | -------------| --------------------|
|nodename | nodename节点下的所有子节点 | bookstore选取bookstore的所有子节点 bookstore/book选取bookstore下的所有book节点
|/ | 从根节点选取 | /bookstore选取根元素 bookstore。 假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!|
|// | 从匹配选择的当前节点选择文档中同样的节点,而不考虑它们的位置 | bookstore//book选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。|
|. | 选取当前节点 | .book选择当前book节点|
|.. | 选取当前节点的父节点 |..book选取book的父节点bookstore|
|@ | 选取属性 | //@lang选取名为lang的所有属性|
此外,还可以通过谓语(Predicates)进行更为精准的选择,谓语写在[Predicates]中,例如//title[@lang]则是选择所有拥有名为 lang 的属性的 title 元素。
还可以用*选择未知节点,用逻辑符号|选取若干路径,具体可参考W3school

XPath语法简介

标签:ant   learning   lang   参考   auth   描述   learn   符号   选择   

原文地址:https://www.cnblogs.com/fugeny/p/8782188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!