# JDOM: Parsen vom XML-Datei mit SAXBuilder



## dina80 (8. November 2004)

Hallo,


Ich habe ein Problem mit dem Einlesen von bestehende XML-Dateien mit dem
SAXBuilder, eigentlich ist der Code in sich richtig.
Ich habe versucht einfache Klassen (aus dem Internet), zum laufen zu
bringen, aber es funktionniert nicht. 
Ich programmiere mit der Entwicklungsumgebung NetBeans, und habe die Datei
jdom-1.0 bereits in der Umgebung hochgeladen.

Beispiel:
Die Klasse sieht folgendermaßen aus:


import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;

public class XmlZugriff {

public static void main(String[] args) {

try {

System.out.println("say something" );
SAXBuilder builder = new SAXBuilder();
String path = "D:\\.....\\testgui\\Datenbank12.xml";
File file = new File(path);

if (file.exists()){
System.out.println("File gefunden");
} else 
System.out.println("File nicht gefunden");
Document doc = builder.build(file);
System.out.println("do" + doc.getRootElement());
new XMLOutputter().output(doc, System.out);

} catch(Exception any) {System.out.println("exception" );}

} }

Nur die Methode doc.gerRootElement() wird nicht ausgeführt, und ich weiss
nicht warum.



Und wenn ich folgendes Programm ausführe:

import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
//import org.apache.xerces.parsers.SAXParser;
//import org.apache.xerces.parsers.XML11Configuration;
//import org.apache.xerces.*;

public class ExempleJdomWrite
{
public static void main( String[] args )
{
if( args.length != 1 )
{
System.err.println( "Usage: java ExampleJdomWrite MyXmlFile.xml" );
System.exit( 1 );
}
try {
// ---- Read XML file ----
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build( new File( args[0] ) );


XMLOutputter fmt = new XMLOutputter();
//fmt.setIndent( " " ); // only for nicer formatting
//fmt.setNewlines( true ); // only for nicer formatting
fmt.output( doc, System.out );
} catch( Exception ex ) {
ex.printStackTrace();
}
}
}

Kommen folgende Exception:

org.jdom.JDOMException: Could not load default SAX parser:
org.apache.xerces.parsers.SAXParser: SAX2 driver class
org.apache.xerces.parsers.SAXParser not found:
org.apache.xerces.parsers.SAXParser
at org.jdom.input.SAXBuilder.createParser(SAXBuilder.java:580)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:423)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:809)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:788)
at ExempleJdomWrite.main(ExempleJdomWrite.java:31)
Caused by: java.lang.ClassNotFoundException:
org.apache.xerces.parsers.SAXParser

at
org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:121)
at org.jdom.input.SAXBuilder.createParser(SAXBuilder.java:572)
... 4 more
Caused by: java.lang.ClassNotFoundException:
org.apache.xerces.parsers.SAXParser

at
org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:121)
at org.jdom.input.SAXBuilder.createParser(SAXBuilder.java:572)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:423)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:809)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:788)
at ExempleJdomWrite.main(ExempleJdomWrite.java:31)
Caused by: java.lang.ClassNotFoundException:
org.apache.xerces.parsers.SAXParser
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at org.xml.sax.helpers.NewInstance.newInstance(NewInstance.java:42)

at
org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:119)
at org.jdom.input.SAXBuilder.createParser(SAXBuilder.java:572)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:423)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:809)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:788)
at ExempleJdomWrite.main(ExempleJdomWrite.java:31)
Caused by: java.lang.ClassNotFoundException:
org.apache.xerces.parsers.SAXParser

at
org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:121)
at org.jdom.input.SAXBuilder.createParser(SAXBuilder.java:572)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:423)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:809)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:788)
at ExempleJdomWrite.main(ExempleJdomWrite.java:31)
Caused by: java.lang.ClassNotFoundException:
org.apache.xerces.parsers.SAXParser
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at org.xml.sax.helpers.NewInstance.newInstance(NewInstance.java:42)

at
org.xml.sax.helpers.XMLReaderFactory.createXMLReader(XMLReaderFactory.java:119)
at org.jdom.input.SAXBuilder.createParser(SAXBuilder.java:572)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:423)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:809)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:788)
at ExempleJdomWrite.main(ExempleJdomWrite.java:31)

Ich habe sogar die Datei xerces-2_6_2 runtergeladen, das hilft auch nicht.
Eigentlich geht es nur darum eine XML-Datei zu parsen.

Kann es sein dass ich irgend was falsch, in meiner Entwicklungsumgebung konfiguriert habe?

Ich bin für jede Hilfe Dankbar, 

Dina


----------

