Java 生成双结束标记

Java 生成双结束标记,java,html,jsoup,apache-stringutils,Java,Html,Jsoup,Apache Stringutils,我使用JSOUP库来解析html。但是我的DOM中添加了额外的带有编码(<和>)的结束标记。因此,我使用字符串utils库来去除编码的内容。因此,我仍然有重复的结束标记,但它们没有编码。 所以我最初的html是 <!DOCTYPE html> <html xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://ww

我使用JSOUP库来解析html。但是我的DOM中添加了额外的带有编码(<和>)的结束标记。因此,我使用字符串utils库来去除编码的内容。因此,我仍然有重复的结束标记,但它们没有编码。 所以我最初的html是

<!DOCTYPE html>
<html xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="SAF" id="global-header-light">
<head>

</head>
<body>


<div style="background-image: url(http://aka-cdn-ns.adtech.de/rm/ads/23274/HPWomenLOFT_1381687318.jpg);background-repeat: no-repeat;-webkit-background-size: 1001px 2059px; height: 2059px; width: 1001px; text-align: center; margin: 0 auto;">                      

<div style="height:2058px; padding-left:0px; padding-top:36px;">


<iframe style="height:90px; width:728px;" />



</div>
</div>

</body>
</html>
我得到这个html

<!DOCTYPE html><html xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="SAF" id="global-header-light"><head>

</head>
<body>


<div style="background-image: url(aol.jpeg);background-repeat: no-repeat;-webkit-background-size:100720; height:720; width:100; text-align: center; margin: 0 auto;">                      

<div style="height:100; padding-left:0px; padding-top:36px;">


<iframe style="height:90px; width:728px;"></iframe>



</div>
</div>

</body>
</html></div></div></body></html>

所以有额外的重复结束div主体和html标记。虽然它们不会损害页面的呈现,但我想。有没有办法摆脱它

谢谢 斯瓦拉伊

我回来了:p。 您只需再次解析html,以便jsoup将删除任何额外的结束标记

String url = request.getParameter("htmluri").trim();
System.out.println("Fetching %s..."+url);

Document doc = Jsoup.connect(url).get();
Document.OutputSettings settings = doc.outputSettings();
settings.prettyPrint(false);
settings.charset("ASCII");
String html = doc.html();
html = StringEscapeUtils.unescapeHtml(html);
html = Jsoup.parse(html).html();   //This will take care of any extra closing tags 
System.out.println(html);

输出
正在获取%s。。。http://iqtestsites.adtech.de/pictelatest/custombkgd/StylelistDevil.html

如果您只是想要html响应(没有文档对象),请检查我的上次更新,它会显示将html类型更改为doc。是的,对不起。忘记调用html()。现在检查一下。
String url = request.getParameter("htmluri").trim();
System.out.println("Fetching %s..."+url);

Document doc = Jsoup.connect(url).get();
Document.OutputSettings settings = doc.outputSettings();
settings.prettyPrint(false);
settings.charset("ASCII");
String html = doc.html();
html = StringEscapeUtils.unescapeHtml(html);
html = Jsoup.parse(html).html();   //This will take care of any extra closing tags 
System.out.println(html);
Fetching %s...http://iqtestsites.adtech.de/pictelatest/custombkgd/StylelistDevil.html
<!DOCTYPE html>
<html xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="SAF" id="global-header-light">
 <head> 
  <style>

</style> 
 </head> 
 <body> 
  <div style="background-image: url(http://iqtestsites.adtech.de/pictelatest/custombkgd/StylelistDevil.jpg); background-repeat: no-repeat;-webkit-background-size: 1001px 1903px;height: 1903px; width: 1001px; text-align: center; margin: 0 auto;"> 
   <div style="height:1050px; width:300px; padding-left:681px; padding-top:200px;"> 
    <iframe style="height:1050px; width:300px;"></iframe> 
   </div> 
  </div>  
 </body>
</html>