http

2009-08-24 11 views
6
kullanarak xml dosyası okumak

herkes http üzerinde bir xml dosyasında okuma hızlı bir şekilde haberdar mı? (ör. http://www.abc.com/file.xml'da bir dosyam var). için atlanmışhttp

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

İstisna işleme ve malzeme: Nasıl tüm Yardım büyük takdir

bir java uygulamasından bu dosyayı okuyabilir

Teşekkür Damien

cevap

9

Kullanım java.net.URL bir InputStream almak kısalık.

+0

Teşekkür Çözüm için, bir tedavi – Damien

3

Dave Ray'in cevabı aslında hızlı ve kolaydır, ancak örneğin kimlik doğrulama gerektiren bir proxy sunucu üzerinden gitmek zorunda eğer HTTP ile iyi iş yönlendirmeleri veya olmaz. Ne yazık ki, standart Java API'sinin sınıfları (java.net'de) bazı işlevlerden yoksundur veya bu gibi durumlarda kullanılması zordur.

kütüphane Apache HttpClient işleyebilir açık kaynak otomatik yönlendirmeleri ve kolay kimlik doğrulaması gerektiren proxy sunucular ile çalışmak olun. Eğer W3C DOM kullanmak ve IO herhangi ilgilenen değilseniz

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

Teşekkürler Jesper çalıştı. Xml'yi barındıran sunucu benim kontrolüm altındadır, bu yüzden yeniden yönlendirmeler konusunda endişelenmem. Geçerli girişiniz için teşekkürler, çok takdir – Damien

0

veya HTTP aşağıdakileri yapabilirsiniz ayrıntıları: Burada

temel bir örnek

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"); 
İlgili konular