2012-09-18 54 views
1

我一直在下面解析HTML的使用HtmlCleaner教程,具体地讲,这一个:http://xjaphx.wordpress.com/2012/02/04/android-xml-adventure-parsing-html-using-htmlcleaner/如何正确获取HTML资产

有是获取一个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); 

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

谢谢

回答

1

这里有一种可能的方法。对不起,不能发布任何产品代码。但好消息是,这个想法已被成功使用。

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

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

而是使用AssetManager(Context.getAssets()。open(...))来获取输入流。将文件复制或解压缩(使用ZipInputStream封装流,遍历其ZipEntry元素)文件到本地存储(Context.getFilesDir())或SD卡(Context.getExternalFilesDir(...))。

然后将URL(文件:// ...)复制到网页文件的包含文件中。

+0

ooh对不起,我对Android/java相当陌生......我不知道为什么,但我想我可以通过我的应用程序将html下载到assets文件夹。 – user1549672

+0

但为了测试,我想我可以使用这个!谢谢! – user1549672