XPath:什么可以选择?

Jam*_*ead 2 xpath attributes element

我是否认为XPath表达式只能指向/选择元素或元素属性?

Dav*_*ebb 7

根据W3CXPath文档:

计算表达式以生成一个对象,该对象具有以下四种基本类型之一:

  • node-set(没有重复的无序节点集合)
  • 布尔值(true或false)
  • 数字(浮点数)
  • string(一系列UCS字符)

节点是文档树的元素,因此它们可以包括元素节点,属性节点和文本节点.请注意,XPath表达式可以选择多个节点 - 即多个元素 - 而不仅仅是一个节点.

一些例子:

  • //monkey- 将选择<monkey>文档中的所有元素,即节点集
  • count(//monkey)- 将返回所有<monkey>元素的数量,一个数字
  • contains("mouse", "cat") - 将返回false,一个布尔值
  • (//monkey)[0]/text()- 将从第一个<monkey>元素返回文本,一个字符串