java - 如何正确获取HTML Asset

标签 java android parsing htmlcleaner

我一直在学习使用 HtmlCleaner 解析 HTML 的教程,特别是这个:http://xjaphx.wordpress.com/2012/02/04/android-xml-adventure-parsing-html-using-htmlcleaner/

代码的一部分获取一个 url 并修改该页面的 html:

HtmlCleaner htmlCleaner = new HtmlCleaner();
CleanerProperties props = htmlCleaner.getProperties();
props.setAllowHtmlInsideAttributes(false);
props.setAllowMultiWordAttributes(true);
props.setRecognizeUnicodeChars(true);
props.setOmitComments(true);

URL url = new URL(incommingURL);
TagNode root = htmlCleaner.clean(url);
Object[] statsNode = root.evaluateXPath(incommingXPath);

如何正确保存网页,将其存储为 Assets 并实现相同的目标?

谢谢

最佳答案

这是一种可能的方法。抱歉,无法发布任何生产代码。但好消息是,这个想法已经被成功运用。

如果“网页”是指单个文件,只需将其复制到项目中的 Assets 即可。如果有多个文件,请将它们压缩在一起。

请注意,有些帖子中有一些魔法路径可以让您直接访问设备上的 Assets 文件夹。据我所知,这些没有记录,只是巧合。所以我会避免使用它们。

相反,使用 AssetManager (Context.getAssets().open(...)) 获取输入流。将文件复制或解压缩(用 ZipInputStream 包装流,迭代其 ZipEntry 元素)到本地存储 (Context.getFilesDir()) 或 SD 卡 (Context.getExternalFilesDir(...))。

然后将您的网页文件副本的 URL (file://...) 放入 incommingURL。

关于java - 如何正确获取HTML Asset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12471562/

相关文章:

java - 防止 Jsoup.parse 移除结束的 </img> 标签

android - 如何在 Android 手机上测试 Android 应用程序并获取错误日志?

java - 在 list 文件中放置用户库的位置

android - 如何在 android 相机中使用 anyFile.vsh 和 anyFile.fsh 赋予阴影效果?

javascript - JSON 嵌套对象与 Javascript 数组

java - 速度指令也添加空格?

java - 如何从 Android Studio 中的文件夹附加 jar 库的源代码?

java - 如何确定字段在哪个类中声明

c++ - 在 Windows 上构建 Elsa

Python 解析列表