# StAX -- Woodstox Implementation nutzen



## Johannes L. (12. Sep 2006)

Hallo,

wie nutze ich denn nun Woodstock? Ich habe die JAR-Datei (http://woodstox.codehaus.org/3.0.1/wstx-asl-3.0.1.jar) heruntergeladen und entsprechend in mein Projekt eingebunden. 

Nutze ich nun allerdings "import javax.xml.stream.*;" so wird mir bei Eclipse angezeigt, dass die Pakete nicht gefunden werden. Allerdings werden ja in jedem Artikel über StAX im Allgemeinen diese Pakete importiert und zu Woodstock im speziellen kann ich so gut wie nichts finden. Naja, in dem JAR sind auch keine solchen Pakete vorhanden, deshalb ist es eigentlich nicht verwunderlich, dass es nicht funktioniert sie "einzubinden", aber könnte mir eventuell jemand ein kleines Beispiel posten, ich finde eigentlich überhaupt nichts dazu wenn ich ehrlich bin und die Dokumentation auf deren Website ist doch etwas arg spärlich.

Viele Grüsse,
Johannes


----------



## Johannes L. (12. Sep 2006)

Muss ich "org.codehaus.stax2" "importieren" und dann Instanzen vom Typ XMLInputFactory2, XMLStreamReader2 usw. erstellen (statt XMLInputFactory, XMLStreamReader...)?


----------



## Aimee (13. Sep 2006)

Hast du da mal geschaut?

http://stax.codehaus.org/
http://jcp.org/en/jsr/detail?id=173
http://dev2dev.bea.com/xml/stax.html

Ich habe alle genommen.. Müsste aber mal sortieren welche er nicht braucht...  ???:L

Ich nutze den Reader usw. direkt...


----------



## Johannes L. (13. Sep 2006)

Hm, die eigentliche API hatte ich natürlich vergessen, aber nun bekomme ich immer einen NoClassDefinitonFound-Error, sobald ich das Programm ausführe: java.lang.NoClassDefFoundError: javax/xml/stream/XMLInputFactory.

Konkret habe ich nun "wstx-asl-3.0.1.jar" sowie "jsr173_1.0_api.jar" eingebunden, wenn ich mir dann allerdings das API JAR anschaue, so steht bspw. bei XMLInputFactory.class "The jar file jsr173_1.0_api has no source attachement." Und unten drunter ist ein Button mit dem ich eine Datei als Source auswählen kann und noch weiter unten steht die abstrakte Klasse XMLInputFactory :-/


```
/**
     * Setup the parser
     * @param XMLFile XMLFile to load
     * @exception XMLStreamException 
     * @evception FileNotFoundException no file given
     */
    private void init(String XMLFile)
    {
        try
        {
            FileInputStream in = new FileInputStream(XMLFile);
            XMLInputFactory factory = XMLInputFactory.newInstance();
            parser = factory.createXMLStreamReader(in);
        } 
        catch(XMLStreamException e) 
        {
            e.printStackTrace();
        }
        catch(FileNotFoundException e) 
        {
            e.printStackTrace();
        }
    }
```


----------



## byte (13. Sep 2006)

Johannes L. hat gesagt.:
			
		

> Konkret habe ich nun "wstx-asl-3.0.1.jar" sowie "jsr173_1.0_api.jar" eingebunden, wenn ich mir dann allerdings das API JAR anschaue, so steht bspw. bei XMLInputFactory.class "The jar file jsr173_1.0_api has no source attachement." Und unten drunter ist ein Button mit dem ich eine Datei als Source auswählen kann und noch weiter unten steht die abstrakte Klasse XMLInputFactory :-/



Das ist vollkommen normal und bedeutet lediglich, dass Eclipse die Javadocs zum Jar nicht anzeigen kann. Das hat nichts mit der Exception zu tun.


----------



## Aimee (13. Sep 2006)

Hast du die stax-api-1.0.1.jar ??


----------



## Johannes L. (13. Sep 2006)

Da scheint es keinen Unterschied zu machen ob ich "jsr173_1.0_api.jar" oder "stax-api-1.0.1.jar" nehme 

Ich habe mal einen Screenshot gemacht: http://www.nabooisland.com/temp/eclipse.png

Per "import javax.xml.stream.*;" kürze ich halt die Schreibweise ab, naja -- welche JARs bindet ihr denn ein, die API und die Woodstock-Implementation müsste doch langen oder nicht?

Achja, StAX2.jar ist nun auch drin, aber naja bringt ja alles nichts. Ok, StAX2.jar scheint für einige Erweiterungen benötigt zu werden, die noch nicht in die offizielle API eingeflossen sind.

Hm, Aimee, kannst Du eventuell deine eingebundenen JAR-Dateien kurz auflisten? Es ist langsam wirklich zum verzweifeln :-/


----------

