JDOM

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
JDOM
Тип

XML

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

2.0.5 (28 апреля 2013)

Лицензия

Apache License

Сайт

jdom.org

JDOM это свободная Java-реализация DOM для XML, созданная с учётом особенностей языка и платформы Java. JDOM интегрируется с Document Object Model (DOM) и Simple API for XML (SAX), поддерживает XPath и XSLT. В JDOM используются внешние парсеры для генерации документов. JDOM разрабатывался Джейсоном Хантером и Бреттом МакЛофлином, начиная с марта 2000 года. Он является частью Java Community Process. Название JDOM расшифровывается как Java Document Object Model.

Примеры[править | править исходный текст]

Пусть файл "foo.xml" содержит следующий XML-документ:

<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>

Следующий пример кода производит разбор XML-файла в дерево Java-объектов с помощью JDOM:

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.

DOM можно создать не только из файла или потока, но и из простых объектов-элементов.

Element root = new Element("shop"); // здесь <shop></shop> является корнем
Document doc = new Document(root);

Так можно построить дерево из объектов-элементов и сгенерировать из него XML-файл:

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);
// то же для остальных элементов
XMLOutputter outputter = new XMLOutputter();
outputter.output(new Document(root), new FileOutputStream ("foo2.xml"));

Внешние ссылки[править | править исходный текст]