选取节点

1.直接定位节点:使用绝对路径,例:/configuration/system.web(configuration子节点中为system.web的节点。)

2. 定位节点的后代中的指定节点,例:/configuration//system.web(configuration后代节点中为system.web的节点。)

使用“/”的路径表示从根节点开始的位置

 

使用谓语定位节点,这样可以做到更精确的定位

1.例:/configuration/system.web[1],选取属于 configuration子元素的第一个 system.web元素。

2.例: /configuration/system.web[last()],选取属于 configuration子元素的最后一个 system.web元素。

/bookstore/book[last()-1] 选取属于 bookstore 子元素的倒数第二个 book 元素。
/bookstore/book[position()<3] 选取最前面的两个属于 bookstore 元素的子元素的 book 元素。
//title[@lang] 选取所有拥有名为 lang 的属性的 title 元素。
//title[@lang='eng'] 选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性。
/bookstore/book[price>35.00] 选取所有 bookstore 元素的 book 元素,且其中的 price 元素的值须大于 35.00。
/bookstore/book[price>35.00]/title 选取所有 bookstore 元素中的 book 元素的 title 元素,且其中的 price 元素的值须大于 35.00。

 

 

选取未知节点

XPath 通配符可用来选取未知的 XML 元素。

通配符 描述
* 匹配任何元素节点
@* 匹配任何属性节点
node() 匹配任何类型的节点

实例

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

路径表达式 结果
/bookstore/* 选取 bookstore 元素的所有子节点
//* 选取文档中的所有元素
//title[@*] 选取所有带有属性的 title 元素。

 

 

选取若干路径

通过在路径表达式中使用“|”运算符,您可以选取若干个路径。

实例

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

路径表达式 结果
//book/title | //book/price 选取所有 book 元素的 title 和 price 元素。
//title | //price 选取所有文档中的 title 和 price 元素。
/bookstore/book/title | //price 选取所有属于 bookstore 元素的 book 元素的 title 元素,以及文档中所有的 price 元素。

 

相关文章:

  • 2021-07-18
  • 2021-04-03
  • 2021-10-13
  • 2021-08-29
  • 2021-08-30
  • 2021-12-28
  • 2021-12-05
  • 2022-12-23
猜你喜欢
  • 2021-08-08
  • 2022-01-10
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案