2009-08-24 2 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 

예외 처리 및 재료 : 어떻게 모든 도움에 감사드립니다

자바 응용 프로그램에서이 파일을 읽을 수

감사 데미안

답변

9

사용 java.net.URLInputStream를 얻을 수 있습니다 짧음.

+0

감사합니다 데이브 솔루션을 위해 치료를했습니다 – Damien

3

Dave Ray의 대답은 실제로 쉽고 빠르지 만 HTTP 리디렉션이나 예를 들어 인증이 필요한 프록시 서버를 통과해야하는 경우 제대로 작동하지 않습니다. 안타깝게도 표준 Java API의 클래스 (java.net)에는 일부 기능이 없거나 이러한 상황에서 사용하기가 어렵습니다.

오픈 소스 라이브러리 Apache HttpClient은 자동으로 리디렉션을 처리 할 수 ​​있으며 인증이 필요한 프록시 서버에서 쉽게 작업 할 수 있습니다. 당신은 W3C DOM을 사용하여 계획 및 IO에 관심이없는 경우

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

Jesper에게 감사드립니다. xml을 저장하는 서버가 내 통제하에 있으므로 리디렉션에 대해 걱정할 필요가 없습니다. 귀하의 유효한 입력에 감사드립니다, 그 많은 감사 – Damien

0

또는 HTTP를 사용하면 다음을 수행 할 수 있습니다 자세한 사항 : : 여기

은 기본 예제

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");