JDOM es un modelo de objeto de documento basado en Java de código abierto para XML que fue diseñado específicamente para la plataforma Java para que pueda aprovechar sus características de lenguaje. JDOM se integra con Document Object Model (DOM) y Simple API for XML (SAX), es compatible con XPath y XSLT . Utiliza analizadores externos para crear documentos. JDOM fue desarrollado por Jason Hunter y Brett McLaughlin a partir de marzo de 2000. Ha sido parte del Proceso de la Comunidad Java como JSR 102, aunque ese esfuerzo ha sido abandonado desde entonces.
Lanzamiento estable | 2.0.6 / 15 de febrero de 2015 |
---|---|
Repositorio | |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Tipo | Enlace XML |
Licencia | Similar a la licencia de Apache |
Sitio web | jdom |
Ejemplos de
Suponga que el archivo "foo.xml" contiene este documento XML:
name = "shop for geeks" location = "Tokio, Japón" > name = "iBook" price = "1200 $" /> name = "Dragon Ball vol 1" price = "9 $" /> price = "invaluable" />
Uno puede analizar el archivo XML en un árbol de objetos Java con JDOM, así:
Constructor SAXBuilder = nuevo SAXBuilder (); Documento doc = constructor . build ( new FileInputStream ( "foo.xml" )); Raíz del elemento = doc . getRootElement (); // root.getName () es "tienda" // root.getAttributeValue ("nombre") es "tienda para geeks" // root.getAttributeValue ("ubicación") es "Tokio, Japón" // root.getChildren () es un objeto java.util.List que contiene 3 objetos Element.
En caso de que no desee crear el objeto de documento a partir de ningún archivo o flujo de entrada, puede crear el objeto de documento contra el elemento.
Elemento raíz = nuevo Elemento ( "tienda" ); // aquí está el documento raíz doc = new Document ( root ); // crea un nuevo documento con el elemento suministrado como raíz
A la inversa, se puede construir un árbol de elementos y luego generar un archivo XML a partir de él, como en el siguiente ejemplo:
Elemento raíz = nuevo Elemento ( "tienda" ); raíz . setAttribute ( "nombre" , "comprar geeks" ); raíz . setAttribute ( "ubicación" , "Tokio, Japón" ); Elemento item1 = nuevo Elemento ( "computadora" ); item1 . setAttribute ( "nombre" , "iBook" ); item1 . setAttribute ( "precio" , "1200 $" ); raíz . addContent ( elemento1 ); // realizar pasos similares para otros elementos XMLOutputter outputter = nuevo XMLOutputter (); Outputter . salida ( nuevo documento ( raíz ), nuevo FileOutputStream ( "foo2.xml" ));