Jsoup获取元素的ID

时间:2014-05-27 13:35:49

标签: java html parsing dom jsoup

我无法使用jsoup获取表单的ID(或名称)。例如...... html代码是:

  <form name="input" action="demo_form_action.asp" method="get">
       Username: <input type="text" name="user">
             <input type="submit" value="Submit">
  </form>

我使用以下代码提取表单的html代码,但是如何获取名称?

 Elements tds = doc.getElementsByTag("form");

谢谢!

3 个答案:

答案 0 :(得分:0)

试试这个

var tds =document.getElementsByTagName("form");
console.log(tds[0].getAttribute("name"));

<强> FIDDLE

答案 1 :(得分:0)

这段代码说明了如何获取元素的id,元素名称(=标记)或元素的属性。 (在你的问题中你不清楚你想要什么,因为你谈到获取id或名称,你的html也包含一个属性'name')

String html = "<form name=\"input\" action=\"demo_form_action.asp\" method=\"get\">\n" +
            "       Username: <input type=\"text\" name=\"user\">\n" +
            "             <input type=\"submit\" value=\"Submit\">\n" +
            "  </form>";
    org.jsoup.nodes.Document doc = Jsoup.parse(html);

    Elements forms = doc.getElementsByTag("form");
    for (Element form : forms) {
        System.out.println(form.id());
        System.out.println(form.tag());

        Attributes attributes = form.attributes();
        for (Attribute attribute : attributes) {
            System.out.println(attribute.toString());
        }
    }

答案 2 :(得分:0)

首先,您必须考虑在网页中可以找到多个表单。

执行命令:

Elements tds = doc.getElementsByTag("form");

在tds中存储包含表格的所有Dom节点的集合(即有序集合)。

此集合可以为空,只有一个元素,或者有多个元素。

因此,不清楚您是否需要特定表单的名称,或者您想获取网页中存在的所有alla表单名称的列表。 请澄清。