# HTML Code einlesen und nach Links parsen



## Dai (5. Jan 2005)

Hallo, folgendes Problem:

Ich sollte html/xml seiten einlesen und die darin enthaltenen Links in einem Java Fenster ausgeben, aber nach wir vor als Links zum draufdrücken.

Sprich ich müsste den HTML/XML Code nach HTML/XML Links parsen diese dann ausgeben undzwar als Links 

Kann mir da vielleicht einer helfen im Sinne von einem kleinen Codebeispiel ? 

Vielen Dank

PS: Ich habs mal 2x gepostet da ich mir nicht sicher war ists ne Anfängerfrage oder ne Netzwerkfrage ...


----------



## DTR (5. Jan 2005)

Hallo,

am besten behandeslt du die DAtei erstmal als reine Textdatei, und splittest sie mit einem StreamTokenizer auf. Dabei fängst du die Links ab, wenn der Start  und Ende Tag kommt. Die Links speicherst übergibst du dann so wie du sie Darstellen willst an eine JEditorPane, das kann die HTML-Links als solche darstellen.


----------



## Dai (5. Jan 2005)

Ja ich "hantier" ja schon mit dem Tokenizer rum aber NOCH hab ich nicht den gewollten effekt.

Wäre über nen kleinen Quellcode dankbar steh da nun irgendwie auf dem Schlauch...


----------



## dotlens (5. Jan 2005)

zeig mal deinen code, ich denke du hast noch gar nichts und das sind deine Hausaufgaben, desshalb hast du das ganze auch 2 mal geposted


----------



## Dai (5. Jan 2005)

LoL was für ne dumme Community isn das hier ?

Ich rechtfertige mich sicher nicht für Fragen. Zur Info es ist ein Projekt bei dem ich gerade festhäng und wenn das hier einen zu großen Aufwand darstellt freundlich zu reagieren denkt mal über den Sinn dieses Forums nach und über eure Erziehung

Auf Wiedersehen


----------



## dotlens (5. Jan 2005)

der Sinn ist, dass Leuten geholfen wird die etwas erreichen wollen undn icht einfach code abschreiben

das PS stand vorhin noch nicht da...

wenn du ja scho code hättest, könntest du diesen auch posten


----------



## Guest (5. Jan 2005)

1. Code ist auf Laptop

2. Werd du erstmal so alt das du studieren kannst bzw. komm du erstmal soweit das du Projektarbeiten bekommst dann weisst du von was ich rede....


Und ich denke ich hab schon für das das ich Java im Studium erst 1 Semester hab schon viel erreicht. Sowas ist absolut indiskutabel dieses Verhalten hier. Wenn du nur nen Schimmer davon hast wovon ich rede und um was es hier geht würdest du nicht soviel labern, sondern als Moderator so wies aussieht helfen


----------



## Illuvatar (5. Jan 2005)

Hm überleg erstmal wie dein Verhalten ist... wenn das keine Trollantwort war, sind die User bei Heise auch alle sehr freundlich...

Am einfachsten kannst du das ab 1.4 wahrscheinlich mir regex lösen. Ein Ansatz wäre, nach "<a href=\".+\">" zu suchen (String#indexOf (regex)).


----------



## Guest (5. Jan 2005)

```
import java.io.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
import javax.swing.text.html.parser.*;

public class LinkParser {
  public static void main(String argv[]) {
    HTMLEditorKit.ParserCallback callback =
     new HTMLEditorKit.ParserCallback () {
       public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos) {
         if(t == HTML.Tag.A)
           System.out.println(a.getAttribute(HTML.Attribute.HREF));
       }
     };
    try {
      BufferedReader reader = new BufferedReader(new FileReader(argv[0]));
      new ParserDelegator().parse(reader, callback, false);
    }
    catch(Exception e) {
     e.printStackTrace();
    }
  }
}
```
...funktioniert aber nur, wenn die Seite fehlerfrei ist.


----------



## Guest (5. Jan 2005)

Vielen Dank, aber hey du heisst ja wie ich


----------



## Guest (6. Jan 2005)

Anonymous hat gesagt.:
			
		

> Vielen Dank, aber hey du heisst ja wie ich


 Bin ein gelegentlicher Gast hier. Was mich an dem Forum stört, sind die Pedagogen hier, 
die ständig die Leute umerziehen möchten. Statt viel zu labbern, hilft da ein einfaches Beispiel 
oft mehr. Wahrscheinlich habe sie es vergessen, wie es ist, wenn man sich als Anfänger an
einem Problem festbeißt und nicht weiter kommt oder sie haben keine Ahnung, wollen aber
unbedingt mitreden. Gilt nicht für (Bleiglanz, Beni, Illuvatar und paar andere hier, die wissen, was sie tun )


----------

