HTML-Code auslesen und mit einem Wert in der property-Datei vergleichen

armina

Grünschnabel
Hallo Leute,

ich bin ein Anfänger und habe diverse Probleme bei der Programmierung des Sachverhaltes (unten):

Ich möchte aus einer HTML-Datei zwischen <span ID="irgendwas">ABC 56</span> die 56 auslesen können, die sich bei jedem Aufruf der Seite ändert.


Dazu lade ich die Seite mit:


Code:
URL url = new URL("file:/C:/Users/SKaya/bsp.xhtml");
    	URLConnection connection = url.openConnection();
    	
    	
    	//Einlesen der Seite in einen stream
    	
    	BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));


daher hatte ich mir überlegt folgendermaßen vorzugehen,
um mich an SPAN und ID zu orientieren und so die Ergebnisse zu bekommen, die in einem SPAN-Tag die ID als Attribut haben.
Doch damit bekomme ich die Werte der IDs, in diesem Fall "irgendwas".

Code:
HTMLEditorKit editorKit = new HTMLEditorKit();
        
        HTMLDocument htmlDoc = new HTMLDocument();
        
        editorKit.read(in, htmlDoc, 0);
 
        HTMLDocument.Iterator iter = htmlDoc.getIterator(HTML.Tag.SPAN);
        
        
        while( iter.isValid()){
        	
          String str = iter.getAttributes().getAttribute(HTML.Attribute.ID).toString();
          
          iter.next();
          
          System.out.println(str);


Der nächste Schritt wäre dann die ausgelesene Zahl in einer property-Datei zu finden und falls vorhanden, dann diese speichern , um es später weiterverarbeiten zu können.

Dazu habe ich :

Code:
public void wertausprop(){
		Properties prop = new Properties();
		
		try{
			
			//load
			prop.load(new FileInputStream("../Testen/src/wert.properties"));
			
			//get value 
			//System.out.println(prop.getProperty());
			
			
		} catch (IOException ex){
			ex.printStackTrace();
			}
		}


versucht.
Kann mir bitte jemand weiterhelfen ?
 
Zuletzt bearbeitet:
Hi,

das Problem ist, dass du das "nur" das Attribut ausliest.
Versuchs mal damit:

Java:
    for (HTMLDocument.Iterator iterator = htmlDoc.getIterator(HTML.Tag.A); iterator
        .isValid(); iterator.next()) {

      AttributeSet attributes = iterator.getAttributes();
      String srcString = (String) attributes
          .getAttribute(HTML.Attribute.HREF);

      System.out.print(srcString);

      int startOffset = iterator.getStartOffset();
      int endOffset = iterator.getEndOffset();
      int length = endOffset - startOffset;

      String text = htmlDoc.getText(startOffset, length);
      System.out.println(" - " + text);
    }
(ungetestet von http://www.java2s.com/Code/Java/Swing-JFC/HTMLDocumentDocumentIteratorExample.htm)

mfg
bo
 
Zurück