Como crear archivos XML en JAVA

Como todos sabemos, hoy en dia es parte fundamental de todo informatico,  aprender y manejar lenguaje XML,  ya que  este metalenguaje, es usado mucho en lo que es llamado  “Cloud Computing”  (Computacion en la nube), Antes de  trabajar con XML, debemos tener claros algunos conceptos teoricos:

¿Que es XML?

(Extensible Markup Language), Es un metalenguaje: es un lenguaje para definir lenguajes. Los elementos que lo componen pueden dar información sobre lo que contienen, no necesariamente sobre su estructura física o presentación, como ocurre en HTML, es un subconjunto simplificado de  SGML (Standard Generalized Markup Language, ISO 8879) contiene el 80% de la opciones de SGML, con 20% de su complejidad.

Estructura de un documento XML

Un documento xml consta principalmente de dos partes fundamentales:

  1. Un prologo: El cual nos indica, la version, el tipo de codificacion, y si este tiene asociado un DTD
  2. Un elemento raiz.

Hay que tener en cuenta, que el documento XML, debe tener un solo elemento raiz, y los demas nodos, deben ir anidados a este, igualmente estos elementos obligatoriamente deben tener su etiqueta inicial y final, no se pueden obviar algunas como en el caso de HTML, por esta misma razon, el nombre de las dos etiquetas deben  llamarse de la misma forma.

Ejemplo documento XML

<?xml version=”1.0″?>  -> Prologo
<LIBRERIA> -> Raiz
<LIBRO> -> elemento
<TITULO>El ARTE DE LA INTRUSION </TITULO>
</LIBRO>
</LIBRERIA>

Implementacion Crear archivos en XML en JAVA

Ya que tenemos un poco mas claro el concepto de XML y como es su estructura, procederemos a crear estos archivos bien formados desde JAVA., lo primero que debemos hacer es definir las librerias que necesitamos:

import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;

El siguiente paso, sencillamente es  hacer todo el proceso de creacion y ensamble del archivo  :

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try{
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation implementation = builder.getDOMImplementation();
Document document = implementation.createDocument(null, “xml”, null);
Element raiz = document.createElement(“Correos”);  // creamos el elemento raiz
Element elemento = document.createElement(“Correo”); //creamos un nuevo elemento
Text text = document.createTextNode(“pepito@tuemail.com”); //Ingresamos la info
document.setXmlVersion(“1.0″); // asignamos la version de nuestro XML
document.getDocumentElement().appendChild(raiz);  //pegamos la raiz al documento
raiz.appendChild(elemento); //pegamos el elemento hijo a la raiz
elemento.appendChild(text); //

Source source = new DOMSource(document);
Result result = new StreamResult(new java.io.File(“resultado.xml”)); //nombre del archivo
Result console= new StreamResult(System.out);

Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
transformer.transform(source, console);

}catch(Exception e){
System.err.println(“Error: “+e);
}

Nuestro archivo resultado.xml,  si lo ejecutamos con un navegador,  quedara asi:

Como se puede ver, es muy facil crear archivos XML en JAVA,  ya que existen librerias que te hacen todo el trabajo sucio. Quiero agradecer a la materia POO  de alli saque los ejemplos. Por otra parte estoy trabajando en un programa que aplica este concepto de  archivos XML, asi que les dejo el link para que lo descarguen y vean su funcionamiento en un programa un poco mas complejo.este consiste en manejar la informacion de una institucion academica, almacenando datos de estudiantes y docentes, con sus respectivas materias,   alli se generan reportes en xml para posteriormente utilizarlos  en otras areas, el programa es hecho en java con netbeans,  para  descargar click aqui,

5 thoughts on “Como crear archivos XML en JAVA

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: Como todos sabemos, hoy en dia es parte fundamental de todo informatico,  aprender y manejar lenguaje XML,  ya que  este metalenguaje, es usado mucho en lo que es llamado  ?Cloud Computing?  (Computacion en la nube), Antes…

  2. Hola, tengo una duda, es que no puedo ver tu programa me dice que falta biblioteca xml ?? o no se si tengo que agregar algun .jar ??? por cierto muy interesante tu proyecto !!

  3. Hola mi duda es que si toma las etiquetas \ \ como un nodo o no hay problema y si si hay como se le quitan

  4. aaaa sorry es que no se pintan en pantalla “” estas