some image

Codes and Tags

Lectura de archivo XML con JDOM

Etiquetas: , Blog, Programación No comments

En estos días estaba haciendo una tarea relacionada con el manejo de archivos XML, durante mi investigación pude entender cosas como.

  • XML DOM Mantiene en memoria todo el contenido del arbol XML, por lo tanto consume más recursos. Sin embargo es mucho más facil de utilizar.
  • SAX (Simple Api for XML), Realiza la lectura secuencial del archivo XML a diferencia de DOM. Sin embargo es un poco más complejo de utilizar además que no permite realizar la creación de archivos XML, debido a que se utiliza para parsear el documento.
  • JDOM Es una libreria mucho más elaborada y basada en DOM y SAX. Fue inicialmente creada para JAVA pero actualmente tiene soporte para otros lenguajes.
  • La lirebreria JDOM tiene una serie de métodos muy intuitivos de utilizar, de la misma forma que permite acceder facilmente a los hijos de un nodo, parámetros.
  • Coming soon : Creando archivos XML en Java…

Descargar Libreria JDOM

Archivo de Ejemplo



		Clerigo
		Project Manager

			Desarrollo software
			Curiosidad saber cosas

		DMK
		No se sabe

			Desarrollo Web
			Fotografia
			Desarrollo aplicaciones moviles
			Viajar

		Phicar
		No se sabe

			Criptografia
			Programacion en General
			Algoritmos

		Zarek
		No se sabe

			Domotica
			Wargames
			Seguridad Perimetral

		Radical / 00000000
		Portavoz de RIC.

			Patrones Ingenieria social
			Procesamiento Lenguaje Natural
			Interaccion Hombre maquina

		Forever Alone

			Fap Fap Fap

 

Codigo

import java.util.Iterator;
import java.util.List;
import java.io.File;
import java.io.IOException;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

public class ArchivoXML {

	public static void main(String[] args) {

		ArchivoXML ejemplo = new ArchivoXML();
		ejemplo.leerArchivo("src/test/resources/archivo.xml");

	}

	public void leerArchivo(String xmlFile) {
		// Se crea el SAXBuilder para realizar el parseo del archivo XML
		SAXBuilder builder = new SAXBuilder();
		File xml = new File(xmlFile);

		try {
			// Se crea un objeto de tipo documento el cual permitira manipular
			// el archivo
			Document document = (Document) builder.build(xml);
			// Se obtiene el elemento raiz
			Element rootNode = document.getRootElement();
			// Se obtiene la lista de elementos de la raiz
			List miembros = rootNode.getChildren("miembro");

			// Recorrido de cada uno de los miembros : Primer Nivel
			for (Element miembro : miembros) {
				System.out.println(miembro.getName() + " : "
						+ miembro.getAttributeValue("id"));
				System.out.println("Nickname : "
						+ miembro.getChildText("nickname"));
				System.out.println("Cargo : " + miembro.getChildText("cargo"));
				System.out.println("Hobbies : ");

				// Recorrido de los hobbies de cada miembro : Segundo Nivel
				for (Element hobbie : miembro.getChild("hobbies").getChildren()) {
					System.out.println(" - " + hobbie.getValue());
				}

				System.out.println("------------------------------------");
			}

		} catch (IOException e) {
			e.printStackTrace();
		} catch (JDOMException e) {
			e.printStackTrace();
		}
	}

}

 

Resultado

miembro : 1
Nickname : Clerigo
Cargo : Project Manager
Hobbies :
 - Desarrollo software
 - Curiosidad saber cosas
------------------------------------
miembro : 2
Nickname : DMK
Cargo : No se sabe
Hobbies :
 - Desarrollo Web
 - Fotografia
 - Desarrollo aplicaciones moviles
 - Viajar
------------------------------------
miembro : 3
Nickname : Phicar
Cargo : No se sabe
Hobbies :
 - Criptografia
 - Programacion en General
 - Algoritmos
------------------------------------
miembro : 44
Nickname : Zarek
Cargo : No se sabe
Hobbies :
 - Domotica
 - Wargames
 - Seguridad Perimetral
------------------------------------
miembro : 55
Nickname : Radical / 00000000
Cargo : Portavoz de RIC.
Hobbies :
 - Patrones Ingenieria social
 - Procesamiento Lenguaje Natural
 - Interaccion Hombre maquina
------------------------------------
miembro : 999
Nickname : Forever Alone
Cargo :
Hobbies :
 - Fap Fap Fap
------------------------------------

Buenas referencias de consulta

http://www.mkyong.com/tutorials/java-xml-tutorials/
http://www.latascadexela.es/2008/07/java-xml.html
http://aprendiendo-software.blogspot.com/2012/01/como-leer-archivo-xml-en-java-jdom.html

 

 

About Edwin Torres

Related Posts

  • Logo Java
  • Logo Java
  • Logo Java
  • Logo Java

Add your comment