# SAXParser



## mdee (10. Apr 2006)

Hallo!

Ich habe folgendes Problem: 

Ich habe eine Klasse programmiert namens DocBuilder (erbt von org.xml.sax.helpers.DefaultHandler) und parse eine XML-Datei folgendermaßen:


```
SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();   // aus javax.xml.parsers.SAXParser
DocBuilder handler = new DocBuilder();
saxParser.parse(new File(xmlFileName), handler);
```

Das funktioniert auch so weit gut... Das Problem ist, dass ich das Programm nun so abändern will, dass ich einen gegebenen String in dem das XML steht parsen kann. Leider bietet der saxParser dazu keine Möglichkeit soweit ich das gesehen habe (parse(String) erwartet einen Dateinamen und parseString() o.ä. gibt es leider nicht). Ich suche nach einer Lösung die wenig oder am besten keine Anpassung der DocBuilder-Klasse erfordert. Kann mir jemand helfen?

Danke im voraus!

Gruß
mdee


----------



## Roar (10. Apr 2006)

parse() nimmt auch einen InputStream oder eine InputSource, welches einen INputStream oder nen Reader nimmt.
wenn ich mich recht erinnere gabs hier schon ein beispiel dazu ???:L


----------



## mdee (10. Apr 2006)

Dank an Roar!
Habe das Problem folgendermaßen gelöst:


```
StringReader reader = new StringReader(xmlString);

SAXParser saxParser = SAXParserFactory.newInstance().newSAXParser();		
saxParser.parse(new InputSource(reader), handler);
```

Vielen Dank nochmal!! Du hast meinen Abend bzw. meine Nacht gerettet ;-)

Gruß
mdee


----------

