我需要使用一些HTML标签(删除它们)
此HTML以.txt形式存储到我应用的资源文件夹
中这个HTML太大了(比如7000多行)我无法将它存储到一个简单的String var ...
我正在使用此代码将.txt转换为ArrayList:
InputStream is;
try {
is = getAssets().open("html.txt");
} catch (IOException e) {
e.printStackTrace();
}
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String strLine;
List<String> stringList = new ArrayList<>();
try {
while ((strLine = br.readLine()) != null) {
stringList.add(strLine);
}
} catch (Exception e) {
e.printStackTrace();
}
这样,我想.txt HTML中的每一行都存储为stringList的元素......但是我怎么能删除想要的标签,因为它的开头和结尾可能在不同的行中?
如果不可能,我想知道此问题的任何解决方法......提前致谢!
修改
我想进行修改,例如从页面中删除所有链接,例如<a href="url">
到<a>
另外,我想删除标签<title>
...正在恢复:那些不是很大的修改......
我已经在我的一个项目中使用了JSoup ......但它只是将HTML存储为文档...要使用标记,作为Document类型的HTML值得吗?我怎样才能转换JSoup文档中的.txt文件?
答案 0 :(得分:1)
假设你真的无法将它全部存储在一个大字符串中(或者你不想),提取可能跨越行的内容将是一个问题,是的。
您是否考虑过查看HTML解析器,最好是支持流式传输和修改的HTML解析器,而不是跳到字符串列表?
您可能会考虑使用HTML解析器的原因是,手动搜索HTML标记可能无法考虑您可能遇到的所有潜在方案(注释掉HTML标记以及HTML解析器可以为您处理的其他事项)。 / p>