【发布时间】:2018-03-25 04:16:04
【问题描述】:
这似乎是一个简单的解决方案,但我终生无法解决。
我有一个由<p> 和p class="example"> 以及一些<p><strong>...</strong></p> 混合组成的元素集合。
我要做的就是保留所有内容(包括标签和它的字符串),这是一个干净的<p> 标签。
我目前正在使用的大部分都是我想要的,但我似乎真的无法摆脱<p><strong>...</strong></p>
@Override
public String fetchContent(String url) throws IOException {
Document document = Jsoup.connect(url).get();
Element body = document.select("article.story_landing").first();
Elements elements = body.select("p:not([class])").select("p:not([id])");
StringBuilder stringBuilder = new StringBuilder();
for (Node child : elements) {
if (child.attributes().size() <= 1) {
stringBuilder.append(child.toString());
}
}
return stringBuilder.toString();
}
基本上我想删除整个<p></p> 标记,如果它的属性和正文中包含除文本以外的任何内容。
有什么简单的方法吗?
干杯
编辑#1 我所拥有的以及我想要回来的 HTML 示例。对困惑感到抱歉!
<div class="item-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p><strong>LOREM IPSUM:<br> *
<a href="https://example.com"
title="">Some random link</a><br> *
<a href="https://example.com"
title="">Some random link</a><br> *
<a href="https://example.com"
title="">Some random link</a><br> *
<a href="https://example.com"
title="">Some random link</a><br> *
</strong>
</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p><a class="some_class" href="http://example.com">Some rando link</a></p>
<p><a class="some_class" href="http://example.com">Some rando link</a></p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
</div>
我只想要干净的<p> 标签及其内容,其余元素可以删除。
<div class="item-body">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac eleifend risus.</p>
</div>
【问题讨论】:
-
请贴出你需要解析的html代码