das ist in der Tat ein Punkt, Library zu Library, evtl. gar Version zu Version unterschiedlich,
wenn du jetzt aber eine gefunden hast, ist es doch naheliegend, dort auch nach Codebeispielen zu schauen
SAX
[code=Java]
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;
import java.io.FileReader;
public class Test
{
public static void main(String[] args)
throws Exception
{
XMLReader xr = XMLReaderFactory.createXMLReader();
MySAXApp handler = new MySAXApp();
xr.setContentHandler(handler);
xr.setErrorHandler(handler);
xr.parse(new InputSource(new FileReader("log4j.xml")));
}
}
class MySAXApp
extends DefaultHandler
{
public void startElement(String uri, String name, String qName, Attributes atts)
{
if ("".equals(uri))
System.out.println("Start element: " + qName);
else
System.out.println("Start element: {" + uri + "}" + name);
}
public void endElement(String uri, String name, String qName)
{
if ("".equals(uri))
System.out.println("End element: " + qName);
else
System.out.println("End element: {" + uri + "}" + name);
}
}
[/code]
läuft bei mir, wenn ich aus einer Beispiel-log4j die DTD-Angabe rausnehme, weil ansonsten diese zugehörige DTD nicht gefunden wird