在使用httpclient和jsoup对html文件进行处理时,解析出来的html代码中,存在一些信源页面原本存在的注释字符串,
类似如下:
<table>
<!--abc-->
<table>
<tr>
<td>正文内容</td>
</tr>
</table>
<!--abcdef-->
<!--afgafah-->
<table>
<tr>
<td>正文内容</td>
</tr>
<tr>
<td>正文内容</td>
</tr>
<tr>
<td>正文内容</td>
</tr>
</table>
<!--afheyjm-->
<table>
<tr>
<td>正文内容</td>
</tr>
<tr>
<td>正文内容</td>
</tr>
</table>
</table>
// 注释代码为:<!--长度变化的字符串-->
有的人说,这些注释字符串无伤大雅,不用去管。
但本人依稀记得曾经有那么一两次,因为这个注释而影响了接下来的操作。
因此,查找了一下网上大侠们的处理办法,或者在论坛求助一些大侠,最终得到答案如下:
方案1:
假设以上的html代码为一个string对象html
html = html.replaceAll("<!--(.*?)-->", "$1");
方案2:
本人曾经使用以下方法去除这个字符串:
String html=temp.replace("<!--", "<abc ").replace("-->", "/>");
Document doc2=Jsoup.parse(html);
Element content2=doc2.body();
content2.select("abc").remove();
html=content2.html();
两种方法都可以,关键在于什么时候用,即这段代码处在整个service的位置会影响其效果,不知道是不是本人探讨的不够深入,反正小心为上。