T
Tobias Köhler
Hallo
Ich habe mir vorgenommen, einen News-Service oder ähnliches zu schreiben und stehe nun vor dem Problem, dass ich die xml-Datei von spiegel.de parsen muss. Dabei geschieht es aber, dass ein Zeilenumbruch eingefügt wird, sobald ein Sonderzeichen in der Zeichenkette vorhanden ist. Ich zeige mal besser einen Auszug des vorhandenen Codes
Aufruf in dem Programm:
Meine Klasse Handler erbt von DefaultHandler und überschreibt die Methoden hiermit:
Und die Ausgabe ist dann diese
Ich habe mir vorgenommen, einen News-Service oder ähnliches zu schreiben und stehe nun vor dem Problem, dass ich die xml-Datei von spiegel.de parsen muss. Dabei geschieht es aber, dass ein Zeilenumbruch eingefügt wird, sobald ein Sonderzeichen in der Zeichenkette vorhanden ist. Ich zeige mal besser einen Auszug des vorhandenen Codes

Aufruf in dem Programm:
Java:
SAXParserFactory factory = SAXParserFactory.newInstance();
try
{
DefaultHandler handler = new Handler();
SAXParser saxParser = factory.newSAXParser();
saxParser.parse("http://www.spiegel.de/schlagzeilen/rss/0,5291,,00.xml", handler);
}
catch (ParserConfigurationException e)
{e.printStackTrace();}
catch (SAXException e)
{e.printStackTrace();}
catch(IOException e)
{e.printStackTrace();
Meine Klasse Handler erbt von DefaultHandler und überschreibt die Methoden hiermit:
Java:
///////////////////////////////////////////////////////////////////////////////////
// @author: Tobias Köhler
// @date: 10-01-2007
// @most recent amendment: 10-01-2007
//----------------------------------------------------------------------------
// implements the searchcriteria for the handler
///////////////////////////////////////////////////////////////////////////////////
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class Handler extends DefaultHandler
{
public void startDocument() throws SAXException
{
System.out.println( "Start des Dokuments" );
}
public void startElement( String namespaceURI, String localName,
String qName, Attributes atts ) throws SAXException
{
System.out.println( "Start eines Elements" );
System.out.println( "namespaceURI: " + namespaceURI );
System.out.println( "localName: " + localName );
System.out.println( "qName: " + qName );
for ( int i = 0; i < atts.getLength(); i++ )
System.out.println( "Attribut Nr. " + i + ": " +
atts.getQName( i ) + " = " + atts.getValue( i ) );
}
public void characters( char ch[], int start, int length )
{
System.out.println( "Start von characters" );
System.out.println( "Zeichenkette: " );
for ( int i = start; i < (start + length); i++ )
System.out.print( "" + ch[i] );
System.out.println();
}
public void endElement( String namespaceURI, String localName, String qName )
{
System.out.println( "Ende eines Elements" );
System.out.println( "namespaceURI: " + namespaceURI );
System.out.println( "localName: " + localName );
System.out.println( "qName: " + qName );
}
public void endDocument()
{
System.out.println( "Ende des Dokuments" );
}
}
Und die Ausgabe ist dann diese
Code:
Start des Dokuments
Start eines Elements
namespaceURI:
localName:
qName: rss
Attribut Nr. 0: version = 0.91
Start von characters
...........
Start eines Elements
namespaceURI:
localName:
qName: title
Start von characters
Zeichenkette:
Concorde-Auktion: 26.000 Euro f
Start von characters
Zeichenkette:
ü
Start von characters
Zeichenkette:
r Machmesser
Ende eines Elements