java在读取源代码时中断长HTML行
我正在用Java提取HTML源代码
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse response = client.execute(httpGet);
if (response.getStatusLine().getStatusCode() == 200)
{
sourcepage = EntityUtils.toString(response.getEntity(), "UTF-8");
}
client.getConnectionManager().shutdown();
这段代码是我代码的基线,我将在HTML代码的每一行上执行不同的函数。但是,有些代码行太长。例如,一行的长度是49966,这会在运行代码时产生一些计算成本问题。我想知道在阅读HTML源代码时是否有可能中断HTML行(如果其长度大于阈值)
这也是我逐行阅读代码的方式:
String[] each_line = sourcepage.split("\r?\n");
# 1 楼答案
这在一定程度上取决于你以后想对HTML做什么。如果您只想阅读它,那么可以在每个以
/>
结尾的HTML元素后面添加一个换行符(即content.replace("/>", "/>\n")
),此外,您还可以对</[^>]+>
进行regexp搜索,并在每个匹配之后添加一个换行符这将很好地打破HTML。注意:通常,regexp不是处理HTML的正确工具。但在这种特殊情况下,这就足够了
另一个选项是将JTidy作为依赖项添加到代码中。它有美化HTML的代码格式化程序