0

在我的应用程序中,我必须通过从一个静态 url 获取数据来生成 url,我必须从该页面读取值(意味着来自 HTML 标记 ie )并构建新的 url 并将其显示在 webview 中。

我遇到了问题,如何获取给定 url 的页面源并获取特定的标签值,例如

<HTML>
   <Head>
      <Title>ABCDE</Title>
   </Head>
  <div>
   <input type="hidden" name="_MYNAME" id="_MYNAME" value="" />
   <input type="hidden" name="_EVENT" id="__EVENT" value="" />
   <input type="hidden" name="__MYSTATE" id="__MYSTATE" value="">
  </div>

我需要读取 tab 的值,我尝试使用 htmlcleaner 但我没有成功。有什么建议吗?

4

2 回答 2

0

您可以使用 YQL(雅虎查询语言)编写查询以获取 HTML 数据。YQL 返回 JSON 或 XML 结果,您可以使用 AsyncTask 中的 HttpGet 读取这些结果。这是开发者指南:http: //developer.yahoo.com/yql/guide/

这是在 android 中读取 JSON 响应的指南: http ://www.androidhive.info/2012/01/android-json-parsing-tutorial/

于 2013-01-06T17:50:14.707 回答
0

只需为您的 webview 覆盖 WebViewClient 中的 onpagefinished 方法。您只需要编写一些 javascript 即可使用名称或 id 从 html 页面获取值,就像我们在简单 html 页面中所做的那样简单,形成 url 并使用 js 本身加载它

 String javascript;

 @Override
 public void onPageFinished(WebView view, String url) {
 super.onPageFinished(view, url);


    javascript="javascript:var yourValue=document.getElementById('tad_id').value;
    window.location = "form your url using yourValue here";"
    wv.loadUrl(javaScript);


 }

我正在使用它从我的首选项文件中填写表格并且对我来说工作正常。

于 2013-01-06T18:46:36.233 回答