简体   繁体   English

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

[英]HTML content after a particular tag using Jsoup

I have a String with HTML formated text (not a whole webpage). 我有一个带有HTML格式文本的字符串(不是整个网页)。

How can I get all the HTML content after a particular tag using Jsoup? 如何使用Jsoup获得特定标记后的所有HTML内容?

To be more concret. 更具体。 Assuming I have the following string: 假设我有以下字符串:

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

I would like to get: 我想得到:

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

Hence I am doing 因此我在做

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

And I have a hard time firguring out how to output what after p. 而且我很难弄清楚如何在p之后输出什么。 Let assume for simplicity that p is unique. 为了简单起见,假设p是唯一的。

Another input/output (as asked): 另一个输入/输出(根据要求):

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 />";

Thank you in advance. 先感谢您。

Here's some code - hope it helps you a bit: 这是一些代码-希望它能对您有所帮助:

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();

Output: 输出:

example 1: 范例1:

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

example 2: 范例2:

<p>c</p>
<div>
 d
</div>
<br />

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM