我在选择只有空格的元素时遇到了问题。
给定以下html:
然而,
也许我漏了什么?
给定以下html:
<html><body><p> </p></body></html>
,使用 :empty 无法选择p元素,我想是因为它包含一个文本节点 " "。然而,
:matchesOwn(^\\s+$)
也无法选择它,因为似乎 JSoup 在对文本进行正则表达式匹配之前会执行 trim()
操作。
:matchesOwn(^$)
可以选择它,但也会选择没有文本节点且不为空的元素。也许我漏了什么?
:matchesOwn
不应该进行 trim 操作,因为它使用的是正则表达式,整个文本应该被评估。
element.text().isEmpty()
进行检查,返回值为true
。最好的解决方案是在 Jsoup 的 Github 问题页面 上提交一个问题。 - ollo