# Ein DOM-Document dem Sax übergeben?



## Gast (29. Aug 2006)

Mit folgenden Zeilen kann ein eine XML-Datei dem SAX übergeben


```
XMLReader xr = XMLReaderFactory.createXMLReader();
MyHandler handler = new MyHandler();
xr.setContentHandler(handler);
xr.setErrorHandler(handler);
FileReader r = new FileReader(filename);
xr.parse(new InputSource(r));
```

Was muss ich aber machen, um dem SAX direkt ein DOM-Document  zu übergeben?  :bahnhof:


----------



## Roar (29. Aug 2006)

hi,
hab es nicht ausprobiert, aber versuchmal das mal mit einem javax.xml.transform.Transformer.
da rufst die methode transform() mit einem DOMSource und einem SAXResult auf.
der DOMSource kannst du dein Document geben und dem SAXResult deinen MyHandler.


----------



## Jouhni (29. Aug 2006)

Ich habe selber noch nicht damit gearbeitet, aber SAX wurde nicht dafür gemacht, komplette DOM-Strukturen im Speicher zu verwalten. Es wurde vielmehr zum schnellen, seriellen Auslesen von XML-Dateien entwickelt. Eine Bibliothek, die ganze DOM-Strukturen im Speicher verwalten kann, ist z.B. JDOM (http://www.jdom.org). Nachzulesen im Java-Openbook: http://www.galileocomputing.de/openbook/javainsel5/javainsel13_002.htm#Xxx999378

Gruß,
Jouhni


----------

