1

我有一个 HTML/JSP 的 DOM,我想在 DOM 中搜索特定的文本,并且需要为包含该文本的元素构建 XPath。使用 Jsoup API.Building a xpath 工作正常

如果它是元素的值或元素属性的值,我可以搜索文本。假设 DOM 中是否存在没有任何标签的文本,并且如果文本包含在 span 节点中,我该如何搜索?

4

1 回答 1

2

解决方案

有几种不同的解决方案。

jsoup 选择器

jsoup API有一个实现伪选择器Selector 类。具体来说:

  • :contains(text)
  • :matches(regex)

这些将返回包含搜索文本的元素列表。您必须尝试查看它们是否返回父容器或确切的子容器,或某种组合。

jsoup 元素

Element 类有一些可能有用的方法:

这些方法允许检索包含给定文本或正则表达式模式的元素或父元素。

字符串转换

  1. 将 HTML 转换为字符串。
  2. 正常搜索文本元素(例如,正则表达式)。

这样做的缺点是,如果要匹配的字符串与属性的值或节点名称的值相同,则会返回误报。

资源

请参阅字符串 API;有用的函数可能是indexOfsplit

请参阅Pattern API以构建正则表达式。

于 2013-01-10T06:47:16.290 回答