如果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格式与我发布的第一个相同的格式中检索值。
答案 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();
}
让我知道这是否可行