2011-10-27 6 views
0

私はアンドロイドアプリケーションの2つのパラメータをWebページのフォームに送信する必要があり、私はそれを行うためにHttpClient、HttpPost、HttpResponseを使用しています。どのようにAndroidのJavaスクリプトによって提供される結果を解析する

HttpResponse responsePOST = client.execute(post); 
    HttpEntity resEntity = responsePOST.getEntity(); 
    rez = EntityUtils.toString(resEntity); 

rezはページから完全なHTMLであり、結果をTableLayoutに表示したいが、取得できない。私が得た結果はJavascript関数によって提供され、Jsoupは解析できず、Webページの一部に過ぎません。正規表現を使用してrez Stringを解析することなく、これらの結果を取得するにはどうすればよいですか?

答えて

2

私はデータ交換の仕組みとしてHTMLを返すことを明確に指摘します。データにのみ興味がある場合は、代わりにJSON(Link)を返します。 GSONライブラリを使用して、私のWebエンドポイント/ apisから返されたJSONを解析するのに大成功を収めました。

編集

あなたのコメントを見ました。 HTML DOMを歩く必要がある場合は、のようになります。JTidyは適切なオプションです。 this StackOverflowの質問を参照してください。

+0

返信はTnxですが、私が参照しているページはwww.mtel.ba/imenik/rezultat.phpです(テキストボックスに名前またはヌーバーを入れ、ドロップダウンリストからタウンを選択して結果を得るなど)。phone番号または住所)、それは私のウェブページではありません(私はページapiにアクセスできません)。だから私はそれをする方法を知らない。 – majk

+0

私はrez Stringをwebview 'code'に入れようとしました。String html = getIntent()。getExtras()。getString(" html "); setContentView(R.layout.browser); WebView webView =(WebView)findViewById(R.id.webview); \t \t webView.getSettings()。setJavaScriptEnabled(true); \t \t webView.setWebChromeClient(new WebChromeClient()); \t \t webView.loadData(html、 "text/html"、 "utf-8"); webviewは意味のある何も表示しません。 – majk

+0

自分の回答を編集してください。 JTidy(http://stackoverflow.com/questions/238036/java-html-parsing)は、javaでHTMLを解析するための適切なオプションです –

関連する問題