Показать меню

JDOM

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

Внешние ссылки

  • JDOM home page (англ.)
  • Simplify XML Programming with JDOM (англ.)
  • Упрощение XML-программирования при помощи JDOM
  • ↑ The p_15424 Open Source Project on Open Hub: Languages Page — 2006.
  • Еще по этой теме:
    assert.h
    06:52, 10 декабрь
    assert.h
    assert.h — заголовочный файл стандартной библиотеки языка программирования С, в котором объявляется макрос препроцессора языка С assert(). Данный макрос реализует исключение, которое может
    Абстрактная фабрика (шаблон проектирования)
    22:46, 02 декабрь
    Абстрактная фабрика (шаблон проектирования)
    Абстрактная фабрика (англ. Abstract factory) — порождающий шаблон проектирования, предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их
    Развитие процессов в ветровальной "земляной стене"
    23:22, 30 октябрь
    Развитие процессов в ветровальной "земляной стене"
    "Земляная стена" возникает в результате импактного ветровального сдирания верхних почвенных горизонтов корневой системой вываливаемого дерева и перемещения их материала объемом в несколько кубометров
    Трансформации в "земляной стене" и органо-минеральной насыпи бугров
    23:10, 30 октябрь
    Трансформации в "земляной стене" и органо-минеральной насыпи бугров
    В "земляной стене" идет активное разложение корней, содранных растительных остатков и отмирающего материала возникающих на боковой поверхности "стены" мохово-лишайничковых корочек. Образуется много
    Стадия свежей "земляной стены" (0-10 лет)
    22:18, 30 октябрь
    Стадия свежей "земляной стены" (0-10 лет)
    Позиция бугра на этой стадии представлена свежей "земляной стеной" и невысокой (до 20-50 см) насыпью на усеченной поверхности западины. Высота "земляной стены" может достигать 5-6 м, длина ее
    "Формально-аксиоматическое" исследование ЭПП (часть 5)
    16:35, 19 октябрь
    "Формально-аксиоматическое" исследование ЭПП (часть 5)
    Сформулируем две аксиомы почво-элювиального процесса. 1. Скорости конгруэнтного и инконгруэнтного растворения минералов аналогичных материнских субстратов почв, формирующихся в контрастных
    Комментарии:
    Добавить комментарий
    Ваше Имя:
    Ваш E-Mail: