2009-08-24 17 views
6

誰もがhttpでxmlファイルを読み込む簡単な方法を知っていますか? (例:ファイルがhttp://www.abc.com/file.xmlにあります)ために省略httpを使用してxmlファイルを読み取る

final URL url = new URL("http://www.abc.com/file.xml"); 
final InputStream in = new BufferedInputStream(url.openStream()); 
// Read the input stream as usual 

例外処理やもの:どのように私はすべてのヘルプは大歓迎です

Javaアプリケーションからこのファイルを読むことができます

おかげ ダミアン

答えて

9

使用java.net.URLInputStreamを取得します簡潔。

+0

感謝ソリューションデーヴのために、治療を受けた – Damien

3

デイブレイの回答は本当に簡単かつ簡単ですが、HTTPリダイレクトや、たとえば認証が必要なプロキシサーバーを経由する必要がある場合はうまくいきません。残念なことに、標準Java APIのクラス(java.net内)には機能が不足しているか、そのような状況で使用するのが難しいです。

オープンソースライブラリApache HttpClientは、リダイレクトを自動的に処理し、認証が必要なプロキシサーバで簡単に操作できます。あなたはW3C DOMを使用する予定と次の操作を行うことができIOまたはHTTP細部のいずれかに興味を持っていない場合

HttpClient client = new HttpClient(); 
GetMethod method = new GetMethod("http://www.abc.com/file.xml"); 

int statusCode = client.executeMethod(method); 
if (statusCode != HttpStatus.SC_OK) { 
    System.err.println("Method failed: " + method.getStatusLine()); 
} 

byte[] responseBody = method.getResponseBody(); 
+0

Thanks Jesper。 XMLを格納しているサーバーは私のコントロール下にありますので、リダイレクトについて心配する必要はありません。あなたの有効な入力のおかげで、ありがとう – Damien

0

は、ここで基本的な例です

import javax.xml.parsers.DocumentBuilder; 
import javax.xml.parsers.DocumentBuilderFactory; 
import org.w3c.dom.Document; 

... 

final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
final DocumentBuilder builder = factory.newDocumentBuilder(); 
final Document document = builder.parse("http://www.abc.com/file.xml"); 
関連する問題