如何通过jsoup获取具有特定文本的所有HTML元素

时间:2016-04-16 06:59:46

标签: html jsoup

如何通过jsoup在HTML文档中获取具有特定文本(内部HTML)的所有元素?

例如所有文字测试的元素:

<html><head><title>for example></title></head>
<body>
<div id="div1" class='test'>
test
<p id='p1'>test<a id='a1'>test</a></p>
<a id='a2'>test</a>
<img src='' id='img1' alt='test'>
<p id='p2'>example</p>
</div>
</body></html>

请注意,我不想使用标签&#39; id或标签&#39;选择元素的名称!

1 个答案:

答案 0 :(得分:1)

如果我理解正确的话:

String html = "<html><head><title>for example></title></head><body><div id=\"div1\" class='test'>test<p id='p1'>test<a id='a1'>test</a></p><a id='a2'>test</a><img src='' id='img1' alt='test'><p id='p2'>example</p></div></body></html>";
    Document doc = Jsoup.parse(html);

    Elements elements = doc.select("*:containsOwn(test)");

    for(Element element:elements)
    {
        System.out.println(element.toString()+"\n");
    }

这将为id:div1,p1,a1,a2。

的标签提供输出