我想在Map中为Jsoup Connect.data()方法传递属性值

时间:2013-02-26 05:01:04

标签: java xml jsoup

xml结构如下所示。我想将ID name="hotelId" value="00000000003054D8"和ID name="offerId" value="74"传递给 Jsoup Connect data()方法。

<GetBookingIdsRequest token="f6ERmpwxbZ4ysUgCHB9mlSPcd9rf5DVB39C--yLbNSdG" sid="TVd8DY5OQi2vf82h" xmlns="http://www.travelfusion.com/xml/api/simple">
        <id name="hotelId" value="00000000003054D8"/>
        <id name="offerId" value="74"/>
</GetBookingIdsRequest>

我如何传递相同内容?

2 个答案:

答案 0 :(得分:0)

以下是获取值的示例:

Document doc = ...

Elements request = doc.select("getbookingidsrequest");


for( Element element : request )
{
    final String hotelId = element.select("id[name=hotelId]").first().attr("value");
    final String offerId = element.select("id[name=offerId]").first().attr("value");

    System.out.println(hotelId);
    System.out.println(offerId);
}

<强>输出:

00000000003054D8
74

如果您只有一个GetBookingIdsRequest - 代码,则可以使用first()方法代替for - 循环:

Document doc = ...

Element request = doc.select("getbookingidsrequest").first();

final String hotelId = request.select("id[name=hotelId]").first().attr("value");
final String offerId = request.select("id[name=offerId]").first().attr("value");

System.out.println(hotelId);
System.out.println(offerId);

答案 1 :(得分:0)

您可以将以下内容作为Connection对象的数据映射的一部分传递。

map.put("id[0].name", "hotelId");
map.put("id[0].value", hotel_Id);
map.put("id[1].name", "offerId");
map.put("id[1].value", offer_Id);
相关问题