Está usted en Indice > Construcción > Lenguajes > Java > Lecciones y Paso a Paso > Java y XML, JDOM
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Java y XML, JDOM (3)

Este método pertenece a la clase Document

Element getRootElement(); //cojer el nodo raiz del documento.
  

Estos métodos pertenecen a la clase Element:

String getText();
//Capturar el texto de una etiqueta o elemento.
List getChildren(); 
//Coger todos los elementos que cuelgan del Element.
List getChildren(String nombre);
 //Coger todos los elementos que tengan ese nombre
List getMixedContent();
 //Para recuperar todo(comentarios, PIs, elementos,...) 
 // de lo que cuelga del Element.
Element getChild (String nombre);
 //Coger el primer hijo que tenga ese nombre.
String getAttributeValue(String nombre);
 //Coger el valor del atributo que pasamos como parámetro.
Attribute getAttribute(String nombre); 
//Coger el atributo que tenga ese nombre y para recuperar 
//el valor de ese atributo se 
//utilizaría el método del attribute: String getValue();
  
Nuestro primer programa

Dado el siguiente documento XML:

<?xml version="1.0"?>
<liga tipo="Champions League">
  <equipo>
    <club valoracion="10" ciudad="Bilbao">Athletic Club Bilbao</club>
    <presidente>Uria</presidente>
    <plantilla>
      <nombre>Julen Guerrero</nombre>
      <nombre>Joseba Etxeberria</nombre>
      <nombre>Ismael Urzaiz</nombre>
    </plantilla>
  </equipo>
  <equipo>
    <!-- no os piqueis ;-) -->
    <club valoracion="5" ciudad="Madrid">Real Madrid</club>
    <presidente>Mandamas</presidente>
    <plantilla>
      <!-- no pongo nombres propios por si acaso -->
      <nombre>Bota de oro</nombre>
      <nombre>Milloneti</nombre>
      <nombre>Canterano quemado</nombre>
    </plantilla>
    <conextranjeros/>
  </equipo>
  <arbitros>
    <nombre>No doy una</nombre>
    <nombre>Rafanomejodas</nombre>
  </arbitros>
</liga>
  

Vamos a hacer un programa que lo lea y nos muestra cierta información. Este sería el codigo:

import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;

public class Ejemplo {

  public static void main(String[] args) {
     try {
        SAXBuilder builder=new SAXBuilder(false); 
        //usar el parser Xerces y no queremos 
        //que valide el documento
        Document doc=builder.build("liga.xml");
        //construyo el arbol en memoria desde el fichero
        // que se lo pasaré por parametro.
        Element raiz=doc.getRootElement();
        //cojo el elemento raiz
        System.out.println("La liga es de tipo:"+
                    raiz.getAttributeValue("tipo"));
        //todos los hijos que tengan como nombre plantilla
        List equipos=raiz.getChildren("equipo");
        System.out.println("Formada por:"+equipos.size()+" equipos");
        Iterator i = equipos.iterator();
        while (i.hasNext()){
            Element e= (Element)i.next();
            //primer hijo que tenga como nombre club
            Element club =e.getChild("club"); 
            List plantilla=e.getChildren("plantilla"); 
            System.out.println
                          (club.getText()+":"+"valoracion="+
                           club.getAttributeValue("valoracion")+","+
                           "ciudad="+club.getAttributeValue("ciudad")+","+
                           "formada por:"+plantilla.size()+"jugadores");
             if (e.getChildren("conextranjeros").size()==0)
              System.out.println("No tiene extranjeros");
             else  System.out.println("Tiene extranjeros");

        }
        // Dejamos de mano del lector el sacar el nombre 
        //de los arbitros, animate!!
     }catch (Exception e){
        e.printStackTrace();
     }
  }
}
  



Autor: Javier Teso
http://www.javahispano.org/articles.article.action?id=50

Usuarios que han visto este tema también han visto...

- Singletons en Java, el patrón instancia única
- Obtener información de clases Java en aplicaciones web
- Entrada por Ratón
- Terminación del constructor en Java
- Paso de parámetros a funciones Java


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 25-05-2012 a las 21:48:23