2012-12-14 31 views
1

我想創建一個啓動的Java程序,從http的網址http://api.eve-central.com/api/marketstat下載一個xml文件,並將其保存到一個設置的位置,這樣我就可以解析它我想要的數據。從一個使用java程序的鏈接下載一個xml文件

我想知道的是,如何從標準計算機應用程序的java鏈接中下載此文檔?

+2

*「解析它的數據」 *爲什麼不直接從'URL'解析呢? –

+0

' \t \t \t \t \t \t \t'..what '數據'?!? –

+0

對不起,沒有提前指定,但從鏈接返回的XML是通過添加到鏈接[鏈接]指定的( http://api.eve-central.com/api/marketstat?typeid=34&typeid=35®ionlimit=10000002 ) 所以像這樣的東西將返回更具體的數據。 – Malexion

回答

9

您是否嘗試過由Java提供的XML SAX解析器?

這裏是一個示例代碼:

URL url = new URL("http://www.xyz.com/book.xml"); 
InputStream stream = url.openStream(); 
Document doc = docBuilder.parse(stream); 
+0

指出@AndrewThompson,謝謝你讓我知道 – Kumaran

+0

不客氣。 +1爲您的答案順便說一句。答案可能已經進一步詳細了,但作爲唯一的答案,建議使用XML解析API直接從URL進行解析,它會得到我的投票。 :) –

+0

謝謝你的迴應,它給了我一個很好的方向:) – Malexion

0

URL的響應將包含XML,你只需要鍵入它轉換爲字符串和分析所需數據

1

此功能將讓你從URL中的全部內容:

public String getURLContent(String p_sURL) 
{ 
    URL oURL; 
    URLConnection oConnection; 
    BufferedReader oReader; 
    String sLine; 
    StringBuilder sbResponse; 
    String sResponse = null; 

    try 
    { 
     oURL = new URL(p_sURL); 
     oConnection = oURL.openConnection(); 
     oReader = new BufferedReader(new InputStreamReader(oConnection.getInputStream())); 
     sbResponse = new StringBuilder(); 

     while((sLine = oReader.readLine()) != null) 
     { 
      sbResponse.append(sLine); 
     } 

     sResponse = sbResponse.toString(); 
    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
    } 

    return sResponse; 
} 

希望這有助於!

相關問題