JDOM
| JDOM | ||
|---|---|---|
| Información general | ||
| Tipo de programa | Biblioteca | |
| Desarrollador | JDOM Project | |
| Licencia | Apache-style[1] | |
| 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 (13 años y 7 meses)) | |
| Enlaces | ||
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 Java), esto no es así, siendo desmentido por el propio proyecto de JDOM[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();
}
Enlaces externos
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.