2014-11-02 25 views
1

我想從URL下載數據到一個xml格式的文件,但我在json中取而代之。我的代碼:從網址到使用java的文件

URL url1 = new URL("http://api.eancdn.com/ean-services/rs/hotel/v3/list?cid=55505&minorRev=28" 
          +"&apiKey=m9sur8fsbdemjck7y9yydmfx&locale=en_EN&currencyCode=USD&latitude=" +latitudes[i1]+"&longitude=" + longitudes[i1]); 
ReadableByteChannel rbc = Channels.newChannel(url1.getInputStream()); 
FileOutputStream fos = new FileOutputStream(hotel); 
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); 

我怎樣才能得到它的XML格式?

+1

您的API需要什麼來響應XML?這不是我們可以知道的。 – 2014-11-02 18:24:24

+0

那麼?只需將它解析爲JSON即可。 – hexafraction 2014-11-02 18:24:28

回答

0

答案完全取決於您的API。它甚至有可能用XML做出響應?

通常情況下,您需要提供一個Accept標題和相應的內容類型。在這種情況下,即application/xml。這個頭部會向服務器表明客戶端只需要該內容類型的響應主體。

設置請求標頭取決於HTTP客戶端。這裏您只是使用URL類型。 Get an HttpURLConnection from it and set its request property with setRequestProperty.

+0

我應該把什麼作爲關鍵和價值的setRequestProperty? – 2014-11-02 19:03:08

+0

@alex accept頭名稱和值。再說一次,也許你的服務是不一樣的。 – 2014-11-02 19:29:12