aquí os dejo otro "cómo" que he escrito tras estar dando vueltas por internet. Creo que es algo muy util para todo programador, y como a mi me ha servido para el proyecto en el que estoy metido, espero que a vosotros también os sirva. (Si te interesa o te ha sido útil, deja un comentario, que es gratis! XD )
/* Pasos que hay quue hacer para leer un XML:
* 1.- Crear un DocumentBuilderFactory
* 2.- Con él, crear un DocumentBuilder
* 3.- Crear un File a partir de la ruta a tu XML
* 4.- Crear un Document
* 5.- Volcar el contenido del xml mediante el método parser del builder
* 6.- Crear un XmlDocument
* 7.- Imprimirlo por pantalla
*/
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import java.io.File;
import java.io.IOException;
import org.apache.crimson.tree.XmlDocument;
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
import com.sun.org.apache.xerces.internal.xni.parser.XMLDocumentFilter;
public class lectorXML{
static Document document;
static String mixml = "unficheroXML.xml";
public static void main(String args[]){
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(new File(mixml));
XmlDocument xdoc = (XmlDocument) document;
xdoc.write(System.out);
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
12 comentarios:
Este post también os puede ayudar Java y XML con SAX
Gracias por el comentario emifus, espero que sea util a mis lectores.
Un saludo
Puede que parezca un «arqueólogo» la entrada me fue muy útil.
gracias.
¿Un arqueólogo? :)
Gracias a ti por el comentario
Un saludo
Muy bueno, sólo una cosa, SAX no permite escribir archivos XML y DOM si.
Un saludo y gracias,
Cloudito.
Copio todo, me he tenido que bajar el paquete Crimson, y cuando lo ejecuto me da el siguiente error a la hora de crear el xdoc:
Exception in thread "main" java.lang.ClassCastException: org.apache.xerces.dom.DeferredDocumentImpl cannot be cast to org.apache.crimson.tree.XmlDocument
Sabes cómo podría arreglarlo?
Gracias. Un saludo.
muy bueno me fue de gran ayuda
Me sirvio de mucho para empezar a leer xml gracias !!!
Muchas gracias, me ha sido muy útil.
Muy bueno y simple!!! Muchas gracias!!!
Para los que necesitan del paquete crimsom, un pequeño detalle (gentileza de jarfinder.com):
org.apache.crimson.tree.XmlDocument.Catalog
known versions
class org.apache.crimson.tree.XmlDocument.Catalog [566 bytes, jvm >= 1.4 ]
rt.jar
class org.apache.crimson.tree.XmlDocument.Catalog [1072 bytes, jvm >= 1.1 ]
crimson.jar
crimson-1.1.3.jar
crimson.jar
Estoy desarrollando la solución propuesta...
ummm no me funciono
Publicar un comentario