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);

Web ページを適切に保存し、アセットとして保存して、同じ目標を達成するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

考えられるアプローチの 1 つを次に示します。申し訳ありませんが、製品コードを投稿することはできません。しかし、良いニュースは、このアイデアがうまく利用されていることです。

「Web ページ」が単一のファイルを意味する場合は、それをプロジェクトのアセットにコピーするだけです。ファイルが複数ある場合はまとめて圧縮してください。

デバイス上のアセット フォルダーを直接アドレス指定できるようにするマジック パスがいくつか投稿されていることに注意してください。私の知る限り、それらは文書化されておらず、単なる偶然です。したがって、私はそれらの使用を控えます。

代わりに、AssetManager (Context.getAssets().open(...)) を使用して入力ストリームを取得します。ファイルをローカル ストレージ (Context.getFilesDir()) または SD カード (Context.getExternalFilesDir(...)) にコピーまたは解凍 (ZipInputStream でストリームをラップし、その ZipEntry 要素を反復処理) します。

次に、Web ページ ファイルのコピーの URL (file://...) を incommingURL に入力します。

于 2012-09-18T07:27:02.793 に答える