我想删除标签之间的所有内容。一个示例输入可能是
输入:
<body>
start
<div>
delete from below
<div class="XYZ">
first div having this class
<div>
waste
</div>
<div class="XYZ">
second div having this class
</div>
waste
</div>
delete till above
</div>
<div>
this will also remain
</div>
end
</body>
输出将是:
<body>
start
<div>
delete from below
delete till above
</div>
<div>
this will also remain
</div>
end
</body>
基本上,我必须删除第一次出现的整个 block <div class="XYZ">
谢谢,
最佳答案
您最好遍历找到的所有 元素。所以你可以确定
- a.) 所有元素都被移除,并且
- b.) 如果没有元素,则什么都不做。
示例:
Document doc = ...
for( Element element : doc.select("div.XYZ") )
{
element.remove();
}
编辑:
(我评论的补充)
当一个简单的空/范围检查在这里就足够时,不要使用异常处理:
doc.select("div.XYZ").first().remove();
改为:
Elements divs = doc.select("div.XYZ");
if( !divs.isEmpty() )
{
/*
* Here it's safe to call 'first()' since there at least one element.
*/
}
关于java - 用jsoup解析html并去掉标签 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15795796/