1

我一直在关注使用 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);

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

谢谢

4

1 回答 1

1

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

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

请注意,有一些帖子包含一些魔术路径,可让您直接寻址设备上的资产文件夹。据我所知,这些没有记录,只是巧合。所以我会避免使用它们。

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

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

于 2012-09-18T07:27:02.793 回答