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 Gedanken zu „XML Datei von fremden Server lesen (URLConnection)

  • 8. Februar 2009 um 13:16
    Permalink

    Oder auch so:


    InputStream is = null;

    try
    {
    URL url = new URL( " http://www.tutego.com/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 ) { }
    }
    }

    Antworten
  • 9. Dezember 2009 um 04:13
    Permalink

    Hallo,
    mir wäre sehr geholfen gewesen wenn Du noch die import statements reingeschrieben hättest.

    Antworten
  • 9. Dezember 2009 um 10:43
    Permalink

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

    Antworten

Schreibe einen Kommentar

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

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen zum Datenschutz...

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen