Apis de Java para XML

fhgallardo
05 de Enero del 2004
Estoy estancado con el SAX no se que hacer, ya sobre escribi startElement, character, endElement y no genera nada, incluso marca errores y todo al parecer esta segun la Sintaxis y Lexico de SAX Alguien puede ayudarme si es tan amable? Uso SUN ONE es mi primera vez en Java. Gracias de antemano.

Patxi
05 de Enero del 2004
Con este código podrás leer un fichero XML y verás cómo se van ejecutando los eventos.
Espero que esto te sirva. Tienes que pasarle como parámetro el fichero XML.

Saludos,

--------------------------------------------------------------------------
import java.io.IOException;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;

public class SaxParser1 extends DefaultHandler {

public static void main(String argv[]) {
parsear(argv[0]);
}

public static void parsear(String argv) {
if (argv.length() == 0) {
System.out.println("Usage: java SaxParser1 [URI]");
System.exit(0);
}
System.setProperty("javax.xml.parsers.SAXParserFactory", "org.apache.xerces.jaxp.SAXParserFactoryImpl");
String uri = argv;
try {
SAXParserFactory parserFactory = SAXParserFactory.newInstance();
parserFactory.setValidating(false);
parserFactory.setNamespaceAware(false);
SaxParser1 SaxParser1Instance = new SaxParser1();
SAXParser parser = parserFactory.newSAXParser();
parser.parse(uri, SaxParser1Instance);
}
catch(IOException ex) {
ex.printStackTrace();
}
catch(SAXException ex) {
ex.printStackTrace();
}
catch(ParserConfigurationException ex) {
ex.printStackTrace();
}
catch(FactoryConfigurationError ex) {
ex.printStackTrace();
}

}

public void characters(char[] ch, int start, int length) throws SAXException {
String str = "";
int a;
for (a=0; a<length; a++){
str += ch[start +a];
}
System.out.println("characters= "+ str);
}

public void endDocument() throws SAXException {
System.out.println("endDocument");
}

public void endElement(String uri, String localName, String qName) throws SAXException {
System.out.println("endElement");
}

public void startDocument() throws SAXException {
System.out.println("startDocument");
}

public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
System.out.println("startElement"+ uri + ' ' + localName + ' ' + qName);
}

public void error(SAXParseException e) throws SAXException {
System.out.println("error");
}

public void fatalError(SAXParseException e) throws SAXException {
System.out.println("fatalError");
}

public void warning(SAXParseException e) throws SAXException {
System.out.println("SAXParseException");
}
}