XML Datei von fremden Server lesen (URLConnection)

Wie kann ich mit Java eine (XML) Datei von einem fremden Server einlesen? Das ist relativ einfach getan, wir müssen einfach eine neue URLConnection öffnen welche die URL zu der XML Datei als URL-Objekt übergeben bekommt. Klingt kompliziert, ist es aber nicht. Hier mal der Code dazu:

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
 
[...]
 
 try {
 
 // Verbindung aufbauen
 URL url = new URL("http://www.webmaster-eye.de/rss.xml");
 URLConnection connection = url.openConnection();
 
 // XML Daten einlesen
 result = new ByteArrayOutputStream();
 InputStream input = connection.getInputStream();
 byte[] buffer = new byte[1000];
 int amount = 0;    
 
 // Inhalt lesen
 while(amount != -1){
 
   result.write(buffer, 0, amount);
   amount = input.read(buffer);
 
 }
 
 }catch(Exception e){
 // Fehlermeldung
 JOptionPane.showMessageDialog(null,"Es konnte keine Verbindung mit dem Internet hergestellt werden. Ist ein Proxy nötig?","Verbindungsproblem",JOptionPane.ERROR_MESSAGE);
 }

Der Code baut zuerst eine Verbindung zu dem Server auf, erstellt dann einen Buffer inden der Dateiinhalt geladen wird. Mit

System.out.println(result.toString());

kann man das Ganze dann Ausgaben oder eben weiter verarbeiten.

4 Kommentare zu „XML Datei von fremden Server lesen (URLConnection)

  1. Oder auch so:


    InputStream is = null;

    try
    {
    URL url = new URL( " http://www.tutego.de/aufgaben/bond.txt " );
    is = url.openStream();
    System.out.println( new Scanner( is ).useDelimiter( "Z" ).next() );
    }
    catch ( Exception e ) {
    e.printStackTrace();
    }
    finally {
    if ( is != null )
    try { is.close(); } catch ( IOException e ) { }
    }
    }

  2. Sorry, kann ja nicht schaden, die Imports lauten: import java.io.ByteArrayOutputStream;
    import java.io.InputStream;
    import java.net.URL;
    import java.net.URLConnection;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert