Loading AI tools
De Wikipedia, la enciclopedia libre
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.
JDOM | ||
---|---|---|
Información general | ||
Tipo de programa | Biblioteca | |
Desarrollador | JDOM Project | |
Licencia | Apache-style | |
Información técnica | ||
Programado en | Lenguaje de programación Java | |
Plataformas admitidas | máquina virtual Java | |
Versiones | ||
Última versión estable | 2.0.4 ( 8 de noviembre de 2012 (11 años, 10 meses y 3 días)) | |
Enlaces | ||
Como dato curioso, aunque JDOM parezca un acrónimo de Java Document Object Model (Documento de Modelado de Objetos en Java), esto no es así, siendo desmentido por el propio proyecto de JDOM.
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();
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.