4

我有一个带有 HTML 格式文本的字符串(不是整个网页)。

如何使用 Jsoup 获取特定标签后的所有 HTML 内容?

要更具体。假设我有以下字符串:

String input = "<div>a</div><p>b</p><strong>c</strong>";

我想得到:

String output = "<p>b</p><strong>c</strong>";

因此我在做

Document doc = Jsoup.parseBodyFragment(input); // parse
Element p = doc.select("p"); // select p

而且我很难弄清楚如何在 p 之后输出什么。为简单起见,假设 p 是唯一的。

另一个输入/输出(按要求):

String input = "<br /><strong>a</strong><strong>b</strong><p>c</p><div>d</div><br />";
String output = "<p>c</p><div>d</div><br />";

先感谢您。

4

1 回答 1

4

这是一些代码-希望对您有所帮助:

String input = "<div>a</div><p>b</p><strong>c</strong>";


Document doc = Jsoup.parse(input);
Elements elements = doc.select("p ~ *");

Elements group = new Elements();
group.add(elements.first().previousElementSibling());


for( Element element : elements )
{
    group.add(element);
}

// You can work with 'group' too
String output = group.toString();

输出:

示例 1:

<p>b</p>
<strong>c</strong>

示例 2:

<p>c</p>
<div>
 d
</div>
<br />
于 2012-09-13T12:26:04.453 回答