有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    这在一定程度上取决于你以后想对HTML做什么。如果您只想阅读它,那么可以在每个以/>结尾的HTML元素后面添加一个换行符(即content.replace("/>", "/>\n")),此外,您还可以对</[^>]+>进行regexp搜索,并在每个匹配之后添加一个换行符

    这将很好地打破HTML。注意:通常,regexp不是处理HTML的正确工具。但在这种特殊情况下,这就足够了

    另一个选项是将JTidy作为依赖项添加到代码中。它有美化HTML的代码格式化程序