Wikipedia

JDOM

Also found in: Acronyms.
JDOM
Stable release
2.0.6 / February 15, 2015 (2015-02-15)
Repository Edit this at Wikidata
Written inJava
Operating systemCross-platform
TypeXML binding
LicenseSimilar to Apache License
Websitejdom.org
JDOM in LePUS3
JDOM factories in LePUS3

JDOM is an open-source Java-based document object model for XML that was designed specifically for the Java platform so that it can take advantage of its language features. JDOM integrates with Document Object Model (DOM) and Simple API for XML (SAX), supports XPath and XSLT. It uses external parsers to build documents. JDOM was developed by Jason Hunter and Brett McLaughlin starting in March 2000. It has been part of the Java Community Process as JSR 102, though that effort has since been abandoned.

Examples

Suppose the file "foo.xml" contains this XML document:

<shop name="shop for geeks" location="Tokyo, Japan"> <computer name="iBook" price="1200$" /> <comic_book name="Dragon Ball vol 1" price="9$" /> <geekyness_of_shop price="priceless" /> </shop> 

One can parse the XML file into a tree of Java objects with JDOM, like so:

SAXBuilder builder = new SAXBuilder; Document doc = builder.build(new FileInputStream("foo.xml")); Element root = doc.getRootElement; // root.getName is "shop" // root.getAttributeValue("name") is "shop for geeks" // root.getAttributeValue("location") is "Tokyo, Japan" // root.getChildren is a java.util.List object that contains 3 Element objects. 

In case you do not want to create the document object from any file or any input stream, you can create the document object against the element.

Element root = new Element("shop"); // here <shop></shop> is the root Document doc = new Document(root); // create a new document with the supplied element as the root 

As a converse, one can construct a tree of elements, then generate an XML file from it, as in the following example:

Element root = new Element("shop"); root.setAttribute("name", "shop for geeks"); root.setAttribute("location", "Tokyo, Japan"); Element item1 = new Element("computer"); item1.setAttribute("name", "iBook"); item1.setAttribute("price", "1200$"); root.addContent(item1); // perform similar steps for other elements XMLOutputter outputter = new XMLOutputter; outputter.output(new Document(root), new FileOutputStream ("foo2.xml")); 

External links

Official website Edit this at Wikidata


This article is copied from an article on Wikipedia® - the free encyclopedia created and edited by its online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of Wikipedia® encyclopedia articles provide accurate and timely information, please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.

Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.