2012-12-14 32 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; 
} 

希望这有助于!

相关问题