WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

 
 
Themen-Optionen Ansicht
Alt 13.06.2006, 19:52   #1
Juro
Hero
 
Registriert seit: 24.04.2003
Alter: 53
Beiträge: 823


Standard HTML Fragment per SAX einlesen

Hi,
Ich bastle gerade an einem kleinen Programm herum, welches Daten aus einer HTML Seite ausliest und dann per GUI übersichtlich anzeigt.

Da die Daten ziemlich umfangreich sind, habe ich mir gedacht, daß ich das mittels SAX in eine DOM Struktur einlese. Leider habe ich so etwas noch nicht gemacht und stehe wieder einmal an.

In der ersten Phase sollen die Turnierliste von dieser Seite:
http://www.volleynet.at/volleynet/in...te&show_next=1
eingelesen werden. Diese sind in einer Zeile, die mit
Code:
<table cellspacing="0" cellpadding="2" border="0" align="center"><tr class="tablehead">
anfängt.

Momentan schaut mein (Teil)Programm so aus:

Code:
import java.io.*;
import java.net.*;

import org.apache.html.dom.HTMLDocumentImpl;
import org.cyberneko.html.parsers.*;
import org.w3c.dom.*;
import org.w3c.dom.html.HTMLDocument;
import org.xml.sax.SAXException;
import org.cyberneko.*;

public class Calender {
	public static void main (String args[]) {
		String _calender = "";
		
		try {
			URL _url = new URL("http://www.volleynet.at/volleynet/index.php?screen=Beach/Turnier/Liste&show_next=1");
		
		
			BufferedReader _in = new BufferedReader(new InputStreamReader(_url.openStream()));
			
			String _line;
			
			while ((_line = _in.readLine()) != null) {
				if (_line.contains("tablehead")) {
					_calender = _line;
					break;
				}
			}
			_in.close();
		} catch (MalformedURLException _ex) {
			System.out.println("MalformedURLException!");
		} catch (Exception _ex) {
			System.out.println("Some other Exception");
		}
		
		if (_calender != "") {
			try {
				DOMFragmentParser _fragParser = new DOMFragmentParser();
				_fragParser.setFeature("http://cyberneko.org/features/document-fragment", true);
				HTMLDocument _document = new HTMLDocumentImpl();
				DocumentFragment _fragment = _document.createDocumentFragment();
				_fragParser.parse(_calender, _fragment);
				print(_fragment, "	");
			} catch (SAXException _ex) {
				System.out.println("SAXException while parsing: " + _ex);
			} catch (IOException _ex) {
				System.out.println("IOException while parsing: " + _ex);
			}
		}
	}
	
	public static void print(Node node, String indent) {
        System.out.println(indent+node.getClass().getName());
        Node child = node.getFirstChild();
        while (child != null) {
            print(child, indent+" ");
            child = child.getNextSibling();
        }
    }
Wobei ich diesen Parser http://people.apache.org/~andyc/neko/doc/html/ verwende. Leider geht das nicht, weil das Teil ein komplettes HTML Dokument erwartet (daher das Fragment Teil).

Kann mir einer helfen oder gibt es einen einfacheren Ansatz?

Danke
juro
____________________________________
Software is like sex, it\'s better when it\'s free!
Juro ist offline   Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:34 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag