我有一个HTML / JSP的DOM,我想搜索DOM中的特定文本,并且需要为包含文本的元素构建XPath。使用Jsoup API.Building xpath工作正常
我能够搜索文本,如果它是元素的值或元素属性的值。假设DOM中没有任何标签的文本,如果文本包含在span节点中,我该如何搜索?
答案 0 :(得分:2)
有几种不同的解决方案。
jsoup API有一个Selector class来实现pseudo-selectors。具体做法是:
:contains(text)
:matches(regex)
这些将返回包含搜索文本的元素列表。您必须尝试查看它们是返回父容器还是确切的子容器,还是某些组合。
Element class有一些可能有用的方法:
这些方法允许检索包含给定文本或正则表达式模式的元素或父元素。
这样做的缺点是,如果要匹配的字符串与属性的值或节点名称的值相同,则会返回误报。
见String API;有用的功能可能是indexOf
和split
。
请参阅Pattern API以构建正则表达式。