JDOM

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

XML

Написана на

Java

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

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

Аппаратная платформа

Java Virtual Machine

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

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"));

Внешние ссылки[править | править вики-текст]