当我尝试从html中删除iframe标记时,我正在使用jsoup 1.6.1并面临问题。当iframe没有任何正文(即< iframe pro = value />)时,remove()方法会删除thet标记之后的所有内容。这是我的示例代码。
String html ="<p> This is start.</p><iframe frameborder="0" marginheight="0" /><p> This is end</p>";
Document doc = Jsoup.parse(html,"UTF-8");<br>
doc.select("iframe").remove();<br>
System.out.println(doc.text());
它回到我身边 -
This is start.
但我期待结果 -
This is start. This is end
提前致谢
答案 0 :(得分:1)
似乎需要iframe的结束标记。您不能使用自闭标签:
http://msdn.microsoft.com/en-us/library/ie/ms535258(v=vs.85).aspx http://stackoverflow.com/questions/923328/line-after-iframe-is-not-visible http://www.w3resource.com/html/iframe/HTML-iframe-tag-and-element.php
因此,Jsoup遵循规范并采用iframe标签后面的任何内容并将其作为主体使用。当您删除iframe时,“这就是结束”会随之删除。