1

我在我的应用程序中使用 Jsoup,我试图从一些输入标签中解析信息,以便将它们添加到 url 并自动发布数据。

我试图解析的 HTML 部分如下:

<div class='theDivClass'>
    <form method="post" id="handlePurchase" name="makePurchase" action="/shop.php">
        <input type="hidden" name="ProductCode" value="A1223MN" />
        <input type="hidden" name="SystemVersion" value="3" >
        <input type="hidden" name="ProductClass" value="BOOK" />
    </form>
</div>

所需的输出将是

x = A1223MN
y = 3
z = BOOK

我对 JSOUP 有点熟悉,因为我能够解析出文本、图像和 url,但由于某种原因,这对我来说不是点击。

任何帮助将不胜感激。

4

4 回答 4

7

你应该可以使用这个:

Elements hidden = doc.select("input[type=hidden]");

然后只需从hidden. 我刚刚尝试过,它似乎按预期工作。

为了完整性:

Map<String,String> hiddenList = new HashMap<String, String>();
Elements hidden = doc.select("input[type=hidden]");
for (Element el1 : hidden){
    hiddenList.put(el1.attr("name"),el1.attr("value");
}

将为您提供文档中所有隐藏输入字段的地图。

于 2011-12-19T20:19:44.620 回答
1
Element.select("input[name=productCode]").attr("value");
Element.select("input[name=SystemVersion]").attr("value");
Element.select("input[name=ProductClass]").attr("value");
于 2011-06-28T23:22:56.607 回答
1

我发现了另一种方法:

FormElement f = (FormElement) doc.select("form#handlePurchase").first();
System.out.println(f.formData());

结果:

[ProductCode=A1223MN, SystemVersion=3, ProductClass=BOOK]
于 2014-03-28T11:23:46.610 回答
-2

从我所做的所有研究中结束这个问题,您无法从“隐藏”输入类型中提取数据。

于 2011-07-17T03:58:33.943 回答