# Exception bei "vorselektiertem" HTML



## juro (26. Jul 2006)

Hi,
Ich parse eine HTML Datei für ein bestimmtes Teilstück und speicher dann diese Daten in Objekte ab. Das Abspeichern funktioniert gut, nur leider kann der Parser mit meinem Teilstück nichts anfangen. Und zwar wirft mir der Parser folgende Exception:



> MalformedURLException: no protocol: <table cellspacing="0" cellpadding="2" border="0"......</tab..>


Wenn ich genau das Teilstück in eine Datei speicher und diese dann einlese, gibt es kein Problem. Was übersehe ich denn?

lg
juro


```
public static void parseTournaments() {
		//	I shall parse the html fragment as a xml file
		String _calender = "";
		XMLParser _parser = new XMLParser();
		try {
			URL _url = new URL("http://www.volleynet.at/volleynet/index.php?screen=Beach/Turnier/Liste&show_prev=1&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! " + _ex);
		} catch (Exception _ex) {
			System.out.println("Some other Exception");
		}
		
//		System.out.println("<?xml version='1.0' encoding='utf-8'?>\n" + _calender);
		_calender = _calender.replaceAll("&", "");
		_calender = _calender.replaceAll("
", "");
		//_calender = _calender.replaceAll("index.php\\?screen=Beach/Turnier/Detail&detail_bew_id=", "");
		//_calender = _calender.replaceAll("&PHPSESSID", "");
		_calender = _calender.replaceAll("<img src[^>]*>", "");
		_calender = _calender.replaceAll("&", "+");
		_calender = _calender.replaceAll("", "");
		
		// System.out.println(_calender);
		
		_parser.setXMLString(_calender);
		_parser.parseXML(0);
		setTournaments(_parser.getTournaments());
	}
```


----------



## foobar (26. Jul 2006)

Wo kommt denn die Klasse XMlParser her?


----------



## juro (26. Jul 2006)

```
package data;

import java.net.MalformedURLException;
import java.util.HashMap;
import org.xml.sax.*;
import org.xml.sax.helpers.*;

public class XMLParser {
	private String  xmlString = "";
	private HashMap tournaments;
	
	public void setXMLString(String _string) {
		this.xmlString = _string;
	}
	public void setTournaments (HashMap _tournaments) {
		this.tournaments = _tournaments;
	}
	
	public String getXMLString () {
		return this.xmlString;
	}
	public HashMap getTournaments () {
		return this.tournaments;
	}
	
	public XMLParser() {
		
	}
	
	public XMLParser(String _string) {
		this.setXMLString(_string);
	}
	
	public void parseXML(int _type) {
		SAXCalender _saxCalender = new SAXCalender();
		try {
			XMLReader _reader = XMLReaderFactory.createXMLReader();
			
			_reader.setContentHandler(_saxCalender);
			_reader.parse(new InputSource(this.getXMLString()));
			//_reader.parse(new org.xml.sax.InputSource("MyXmlFile.xml"));
			setTournaments(_saxCalender.getTournaments());
		} catch (MalformedURLException _ex) {
			System.out.println("MalformedURLException: " + _ex.getMessage());
		} catch (Exception _ex) {
			System.out.println("Exception: " + _ex.getMessage());
		}
	}
	
}
```


----------



## juro (7. Aug 2006)

Hat da niemand eine Idee?


----------

