使用Jsoup的特定标记之后的HTML内容

时间:2012-09-12 20:55:13

标签: java html parsing jsoup

我有一个带有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 />";

提前谢谢。

1 个答案:

答案 0 :(得分: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 />