【问题标题】:Parse an HTML tag on Android在 Android 上解析 HTML 标签
【发布时间】:2017-12-20 03:28:06
【问题描述】:

如何解析 HTML 输入标签以在 Android 上提取其值? 这是一个 HTML 页面的示例,我将在其中提取标签中的值:

<input type="hidden" name="logged-in" value="yes" >

<form name='connect' action='http://url.net/' method='post'>
  <input type="hidden" name="pageOrigine" value="alogin"><br/>
  <input type="hidden" name="hostname" value="0.0.0.0"><br/>
  <input type="hidden" name="identity" value="XXXXXXX"><br/>
  <input type="hidden" name="login-by" value=""><br/>
  <input type="hidden" name="server-address" value="0.0.0.0:80"><br/>
  <input type="hidden" name="server-name" value="XXXXXXXXX"><br/>
  <input type="hidden" name="inter-name" value="XXXXXXXXXX"><br/>
  <input type="hidden" name="ip" value="0.0.0.0"><br/>
  <input type="hidden" name="domain" value=""><br/>
  <input type="hidden" name="logged-in" value="yes">
  <input type="hidden" name="username" value=""><br/>
  <input type="hidden" name="host-ip" value="0.0.0.0"><br/>
  <input type="hidden" name="session-time-left" value=""><br/>
  <input type="hidden" name="uptime" value="0s"><br/>
  <input type="hidden" name="link-orig" value=""><br/>
  <input type="hidden" name="link-status" value="http://0.0.0.0/stat"><br/>
  <input type="hidden" name="link-logout" value="http://0.0.0.0/logout"><br/>
  <input type="hidden" name="link-login-only" value="http://0.0.0.0/login"><br/>
  <input type="hidden" name="bytes-in-nice" value="0 B"><br/>
  <input type="hidden" name="bytes-out-nice" value="0 B"><br/>
  <input type="hidden" name="bytes-in" value="0"><br/>
  <input type="hidden" name="bytes-out" value="0"><br/>
  <input type="hidden" name="error" value=""><br/>
</form>

【问题讨论】:

    标签: android html parsing


    【解决方案1】:

    您可以在 JavaScript 中使用 getElementsByName() 方法执行此操作。请记住,这会返回 NodeList 元素集合,因此您需要使用[0] 返回第一个结果:

    var target = document.getElementsByName('logged-in')[0];
    console.log(target.value);
    <form name='connect' action='http://url.net/' method='post'>
      <input type="hidden" name="pageOrigine" value="alogin"><br/>
      <input type="hidden" name="hostname" value="0.0.0.0"><br/>
      <input type="hidden" name="identity" value="XXXXXXX"><br/>
      <input type="hidden" name="login-by" value=""><br/>
      <input type="hidden" name="server-address" value="0.0.0.0:80"><br/>
      <input type="hidden" name="server-name" value="XXXXXXXXX"><br/>
      <input type="hidden" name="inter-name" value="XXXXXXXXXX"><br/>
      <input type="hidden" name="ip" value="0.0.0.0"><br/>
      <input type="hidden" name="domain" value=""><br/>
      <input type="hidden" name="logged-in" value="yes">
      <input type="hidden" name="username" value=""><br/>
      <input type="hidden" name="host-ip" value="0.0.0.0"><br/>
      <input type="hidden" name="session-time-left" value=""><br/>
      <input type="hidden" name="uptime" value="0s"><br/>
      <input type="hidden" name="link-orig" value=""><br/>
      <input type="hidden" name="link-status" value="http://0.0.0.0/stat"><br/>
      <input type="hidden" name="link-logout" value="http://0.0.0.0/logout"><br/>
      <input type="hidden" name="link-login-only" value="http://0.0.0.0/login"><br/>
      <input type="hidden" name="bytes-in-nice" value="0 B"><br/>
      <input type="hidden" name="bytes-out-nice" value="0 B"><br/>
      <input type="hidden" name="bytes-in" value="0"><br/>
      <input type="hidden" name="bytes-out" value="0"><br/>
      <input type="hidden" name="error" value=""><br/>
    </form>

    希望这会有所帮助! :)

    【讨论】:

      【解决方案2】:

      1) 您可以使用 DOM Parser 并比较 name 属性的值。 Here is a tutorial

      2) 你也可以使用JAXB

      3) 您可以使用jsoup,尤其是在抓取网页时。

      【讨论】:

        猜你喜欢
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-05
        • 2013-10-12
        • 2012-02-24
        • 2016-05-06
        相关资源
        最近更新 更多