从网址页面检索值

时间:2018-10-19 05:04:57

标签: android html

如果HTML页面具有这种格式(请参阅第一个代码示例),那么如何使用ID(<value>)从URL检索值(<id>

HTML页面的格式:

<form>
 <text>
  <id>time</id>
  <value>10am</value>
 </text>
 <text>
  <id>date</id>
  <value>June 19, 2018</value>
 </text>
 <text>
  <id>location</id>
  <value>New York</value>
 </text>
<form>

如果我的HTML格式在一个标签上带有id和value属性:

<input id="time" value="11am">

我可以使用以下代码(用Java编写)简单地获取值:

private void getInformation() {
  new Thread(new Runnable() {
   @Override
   public void run() {
     final StringBuilder builder = new StringBuilder();
     try {
       Document doc = Jsoup.connect("http://192.1.1.0/").get();
       Element time = doc.getElementById("time");
       Log.d("myLog", "time: " + time.attr("value"))
       runOnUiThread(new Runnable() {
         @Override
         public void run() {

         }
       });
     } catch (IOException e) {
        Log.d("myLog", "e: " + e)
     }
   }).start();
  }
}

但是我不知道如何从html格式与我发布的第一个相同的格式中检索值。

1 个答案:

答案 0 :(得分:0)

try {
        Element element=doc.getDocumentElement();
        element.normalize();

         NodeList nList = doc.getElementsByTagName("text");

         for (int i=0; i<nList.getLength(); i++) {

            Node node = nList.item(i);
            if (node.getNodeType() == Node.ELEMENT_NODE) {
               Element element2 = (Element) node;
               Log.d("TAG",getValue("id")));
               Log.d("TAG",getValue("value")));


            }
         }

      } catch (Exception e) {e.printStackTrace();}

   }

   private static String getValue(String tag, Element element) {
      NodeList nodeList = element.getElementsByTagName(tag).item(0).getChildNodes();
      Node node = nodeList.item(0);
      return node.getNodeValue();
   }

让我知道这是否可行