WebResource возвращает xml - PullRequest
       8

WebResource возвращает xml

1 голос
/ 02 ноября 2010

Как я могу вернуть XML-файл после вызова определенного WebResource?Мой текущий возвращается в виде строки

  WebResource webResource = client.resource("http://api.foursquare.com/v1/venues");
    MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
    queryParams.add("geolat", String.valueOf(lattitude));
    queryParams.add("geolong", String.valueOf(longitude));
    return webResource.queryParams(queryParams).get(String.class);

Позже я хочу использовать XPath для разбора XML, как это было бы проще ... Есть ли способ получить его непосредственно в XML или ясоздать XML из этой строки?Если мне нужно, то как я могу это сделать?

1 Ответ

1 голос
/ 02 ноября 2010

Я не уверен, что следующее сработает, но стоит попробовать.

Изменить:

return webResource.queryParams(queryParams).get(String.class);

На:

return webResource.queryParams(queryParams).get(Source.class);

В качестве альтернативы вы можете использовать API java.net и получить результат в виде потока.Следующий пример взят из моего блога :

String uri =
    "http://localhost:8080/CustomerService/rest/customers/1";
URL url = new URL(uri);
HttpURLConnection connection =
    (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Accept", "application/xml");

JAXBContext jc = JAXBContext.newInstance(Customer.class);
InputStream xml = connection.getInputStream();
Customer customer =
    (Customer) jc.createUnmarshaller().unmarshal(xml);

connection.disconnect();
...