JDOM

JDOM
Desarrollador(es)
JDOM Project
http://www.jdom.org
Información general
Última versión estable 2.0.4
8 de noviembre de 2012 (4 años, 3 meses y 17 días)
Género Biblioteca
Programado en Lenguaje de programación Java
Sistema operativo Máquina virtual Java
Licencia Apache-style[1]
En español
[ editar datos en Wikidata]


JDOM es una biblioteca de código abierto para manipulaciones de datos XML optimizados para Java. A pesar de su similitud con DOM del consorcio World Wide Web ( W3C), es una alternativa como documento para modelado de objetos que no está incluido en DOM. La principal diferencia es que mientras que DOM fue creado para ser un lenguaje neutral e inicialmente usado para manipulación de páginas HTML con JavaScript, JDOM se creó específicamente para usarse con Java y por lo tanto beneficiarse de las características de Java, incluyendo sobrecarga de métodos, colecciones, etc. Para los programadores de Java, JDOM es una extensión más natural y correcta. Se asemeja al sistema RMI optimizado para Java (invocación remota de métodos), y se amolda mejor que CORBA (arquitectura de intermediario solicitador de objetos comunes) que es más neutral respecto a los lenguajes.

Como dato curioso, aunque JDOM parezca un acrónimo de Java Document Object Model (Documento de Modelado de Objetos en [2].

Ejemplos

Supongamos que el archivo "foo.xml" es el siguiente:

  <tienda nombre="tienda para geeks" ubicacion="Tokio, Japon">
    <computadora nombre="iBook" precio="$1200" />
    <historieta nombre="Dragon Ball Volumen 1" precio="$9" />
    <nivel_geek_de_la_tienda precio="sin precio" />
  </tienda>

Es posible parsear el documento XML en un árbol de objetos Java con JDom:

  SAXBuilder builder = new SAXBuilder ();
  Document doc = builder.build (new FileInputStream ("foo.xml"));
  Element root = doc.getRootElement ();
  root.getName ();                            // devuelve "tienda"
  root.getAttributeValue ("nombre");          // devuelve "tienda para geeks"
  root.getAttributeValue ("ubicacion");       // devuelve "Tokio, Japon"
  root.getChildren ();                        // devuelve una [[java.util.List]] de objetos que tiene tres Element

También es posible realizar el proceso inverso, es decir construir un árbol de elementos y luego crear un archivo XML:

  Element root = new Element ("tienda");
  root.setAttribute ("nombre", "tienda para geeks");
  root.setAttribute ("ubicación", "Tokio, Japon");
  Element item1 = new Element ("computadora");
  item1.setAttribute ("nombre", "iBook");
  item1.setAttribute ("precio", "$1200");
  root.addContent (item1);
  // Realizamos lo mismo con los elementos restantes
  XMLOutputter outputter = new XMLOutputter ("",true);
  try{
      outputter.output (new Document(root),new FileOutputStream ("foo2.xml"));
  } catch (Exception e){
      e.getMessage();
  }
Other Languages
Deutsch: JDOM
English: JDOM
français: JDOM
русский: JDOM