我使用Document doc =jsoup.connect(someUrl).get()
和Elements body=doc.select("div.chapter")
String myHtml = "
<div class="chapter">
<h1>Hello this is my example</h1>
<p>This is paragraph one</p>
<p>This is paragraph two <sup class="num">Nuisance 1</sup><span class="notes">Nuisance 2</span></p>
<p>This is paragraph three</p>
</div>"
我想用JSOUP删除<sup> </sup>
和<span> <\span>
他们的内容。我已经读过使用正则表达式语法是一个坏主意。大多数示例和答案都解决了这个问题,以删除标记并保留内容。我想得到的是:
String newHtml = "
<div class="chapter">
<h1>Hello this is my example</h1>
<p>This is paragraph one</p>
<p>This is paragraph two</p>
<p>This is paragraph three</p>
</div>"
我使用的JSOUP没有令人满意的结果(它保留了SUP和SPAN实体/标签。)。
答案 0 :(得分:1)
doc.select("div > sup").remove();
在那里,我使用了一个儿童组合器,它适用于您的具体示例。如果它们位于div
的子元素中,则必须调整选择器。
答案 1 :(得分:1)
body.select("p > sup.num, p > span.notes").remove();
System.out.println(body.html());
在你的情况下,应该是完美的。
答案 2 :(得分:1)
在阅读了更多内容(更多信息!)并尝试不同的选项后,我已根据自己的情况调整了解决方案:
doc.getElementsByClass("notes").remove();
doc.getElementsByClass("num").remove();
Elements newElement = doc.select("div.chapter");
String newHtml=newElement.toString();