Apis de Java para XML
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.
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");
}
}
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");
}
}