节点与轴

XPath 教程 · 第 2 章 · 6 次浏览

XPath 的路径表达式和文件系统很像:绝对路径以 / 开头,相对路径从当前节点开始,// 表示任意深度。

基本语法

  • /:根节点或父子分隔
  • //:任意位置(跳过多层)
  • .
  • ..:父节点
  • @:属性
  • text():文本节点

示例

//book/title 所有 book 的 title;//book/@category 所有 book 的 category 属性;//price/text() 所有价格文本。

代码示例

/bookstore                    # 根 bookstore
/bookstore/book               # 直接子 book
//book                         # 任意 book
book/title                    # 相对:当前节点下的 book/title
../book                       # 父级的 book
//book/@category              # book 的 category 属性
//book/title/text()           # title 文本内容
//@id                         # 任意 id 属性
/bookstore//price             # bookstore 下任意深度的 price