2010-11-02 67 views
1

如何在調用特定的WebResource之後返回xml文件? 我目前的一個返回一個字符串返回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

我不確定下面是否有效,但可能值得一試。

變化:

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

要:

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

另外,您可以使用java.net API和得到的結果作爲流。以下示例取自my blog

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(); 
+0

您能告訴我一些代碼嗎? – aherlambang 2010-11-02 18:58:47

+0

更新了我的答案以包含一些代碼。 – 2010-11-02 19:36:46