Xpath定位同级元素
**XPath 定位同级元素**
在 XPath 中,同级元素是指具有相同父节点的元素。这些元素可以通过使用 `//` 或 `./` 运算符来定位。
###1. 使用 `//` 运算符`//` 运算符用于查找所有匹配给定模式的元素,无论它们在文档树中的位置如何。例如,下面的 XPath 表达式将找到所有 `
` 元素:
xpath//p
如果我们想找到所有同级 `
` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素的子元素: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素的前一个同级元素: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素包含 "hello" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素开始于 "hello" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素结束于 "hello" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素匹配 "hello" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素匹配 "hello" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素不匹配 "hello" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素匹配 "hello" 或 "world" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素匹配 "hello" 和 "world" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素匹配 "hello" 或 "world" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素匹配 "hello" 和 "world" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素匹配 "hello" 的文本: ` 和 `` 元素,可以使用以下 XPath 表达式: ` 元素匹配 "hello" 的文本: ` 和 `` xpath//p | //span
###2. 使用 `./` 运算符`./` 运算符用于查找当前元素的子元素。例如,下面的 XPath 表达式将找到所有 `xpath./p
如果我们想找到所有同级 `xpath./p | ./span
###3. 使用 `preceding-sibling` 和 `following-sibling` 运算符`preceding-sibling` 和 `following-sibling` 运算符用于查找当前元素的前一个或后一个同级元素。例如,下面的 XPath 表达式将找到所有 `xpathpreceding-sibling::p
如果我们想找到所有同级 `xpathpreceding-sibling::p | preceding-sibling::span
###4. 使用 `ancestor` 运算符`ancestor` 运算符用于查找当前元素的祖先元素。例如,下面的 XPath 表达式将找到所有 `xpathancestor::div
如果我们想找到所有同级 `xpathancestor::div/p | ancestor::div/span
###5. 使用 `contains` 运算符`contains` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[contains(text(), 'hello')]
如果我们想找到所有同级 `xpath//p[contains(text(), 'hello')] | //span[contains(text(), 'hello')]
###6. 使用 `starts-with` 运算符`starts-with` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[starts-with(text(), 'hello')]
如果我们想找到所有同级 `xpath//p[starts-with(text(), 'hello')] | //span[starts-with(text(), 'hello')]
###7. 使用 `ends-with` 运算符`ends-with` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[ends-with(text(), 'hello')]
如果我们想找到所有同级 `xpath//p[ends-with(text(), 'hello')] | //span[ends-with(text(), 'hello')]
###8. 使用 `matches` 运算符`matches` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[matches(text(), 'hello')]
如果我们想找到所有同级 `xpath//p[matches(text(), 'hello')] | //span[matches(text(), 'hello')]
###9. 使用 `translate` 运算符`translate` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[translate(text(), 'abc', 'xyz') = 'hlo']
如果我们想找到所有同级 `xpath//p[translate(text(), 'abc', 'xyz') = 'hlo'] | //span[translate(text(), 'abc', 'xyz') = 'hlo']
###10. 使用 `not` 运算符`not` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[not(matches(text(), 'hello')]
如果我们想找到所有同级 `xpath//p[not(matches(text(), 'hello')] | //span[not(matches(text(), 'hello')]
###11. 使用 `or` 运算符`or` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[matches(text(), 'hello') or matches(text(), 'world')]
如果我们想找到所有同级 `xpath//p[matches(text(), 'hello') or matches(text(), 'world')] | //span[matches(text(), 'hello') or matches(text(), 'world')]
###12. 使用 `and` 运算符`and` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[matches(text(), 'hello') and matches(text(), 'world')]
如果我们想找到所有同级 `xpath//p[matches(text(), 'hello') and matches(text(), 'world')] | //span[matches(text(), 'hello') and matches(text(), 'world')]
###13. 使用 `some` 运算符`somes` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[some $x in ('hello', 'world') satisfies matches(text(), $x)]
如果我们想找到所有同级 `xpath//p[some $x in ('hello', 'world') satisfies matches(text(), $x)] | //span[some $x in ('hello', 'world') satisfies matches(text(), $x)]
###14. 使用 `every` 运算符`every` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[every $x in ('hello', 'world') satisfies matches(text(), $x)]
如果我们想找到所有同级 `xpath//p[every $x in ('hello', 'world') satisfies matches(text(), $x)] | //span[every $x in ('hello', 'world') satisfies matches(text(), $x)]
###15. 使用 `count` 运算符`count` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[count(matches(text(), 'hello')) =1]
如果我们想找到所有同级 `xpath//p[count(matches(text(), 'hello')) =1] | //span[count(matches(text(), 'hello')) =1]
###16. 使用 `sum` 运算符`somes` 运算符用于查找当前元素的子字符串。例如,下面的 XPath 表达式将找到所有 `xpath//p[sum(matches(text(), 'hello')) =1]
如果我们想找到所有同级 `
其他资源