Java XML

Java Development Kit поставляется с двумя парсерами XML: DOM и SAX, каждый из которых имеет свои сильные и слабые стороны. В этом руководстве мы рассмотрим несколько примеров создания, изменения и чтения XML файлов средствами библиотек DOMSAX и JDOM.

Кроме этого, будут рассмотрены примеры использования библиотеки JAXB для преобразования Java объектов в XML файлы и обратно.

DOM XML парсер

DOM XML парсер — наиболее простой способ работы с XML файлами в Java. При работе с XML файлами производится разбор всего файла, строится его объектная модель, которая полностью загружается в память. Для каждого XML элемента создается свой объект, между которыми организуется удобный способ навигации. DOM XML парсер не рекомендуется использоваться при работе с XML файлами большого размера: с такими файлами работа происходит очень медленно и расходуется очень большое количество памяти.

SAX XML парсер

SAX XML парсер работает не так, как DOM: он не читает весь XML файл целиком, не загружает его в память и не создает объекты для каждого элемента. Вместо этого, SAX парсер использует функцию обратного вызова (callback function) org.xml.sax.helpers.DefaultHandler, с помощью которой информирует клиента об изменении структуры XML документа.

Техника работы станет более понятно после рассмотрения конкретных примеров использования SAX XML парсера.

SAX XML парсер работает гораздо быстрее, чем DOM, поэтому при работе с большими и/или сложными файлами рекомендуется использоваться именно его. DOM XML парсер, в силу его простоты и удобства, лучше использовать только с небольшими файлами простой структуры.

JDOM XML парсер

Библиотека JDOM XML позволяет представить XML документ в простой и понятной форме, удобной для чтения и изменения данных. JDOM XML является полноценной альтернативой SAX и DOM.

JAXB

Использование JAXB аннотаций для преобразования Java объектов в XML и обратно.

  • Примеры использования JAXB
    Примеры использования JAXB для выполнения XML Marshalling (преобразование Java объектов в XML) XML Unmarshalling (преобразование XML в Java объекты).

XML и Properties

Класс java.util.Properties имеет встроенную функциональность по преобразованию файла свойств (properties file) в XML и обратно.

Полезная информация

JavaScript-и CSS: набор (браузер Firefox) масштаб элемента iframe?

Я хотел бы создать страницу с несколькими элементами iframe показывать разные страницы – своего рода “просмотреть несколько бок о бок страницах” Тип вещи. Беда в том, что, поступая таким образом, видовые окна довольно маленькие, и я вижу только верхний левый угол каждой страницы. Есть ли способ, чтобы установить iframe, который будет эффективно уменьшить масштаб в Firefox (сочетание клавиш Ctrl-минус) пару ...

Читать далее »

Изменение iframe в src с помощью JavaScript

Я пытаюсь изменить элемент iframe в src, когда кто-то нажимает кнопку радио. По какой-то причине мой код не работает правильно, а у меня возникли проблемы, выясняя, почему. Вот что у меня: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>Untitled 1</title> <script> function go(loc) { document.getElementById('calendar').src = loc; } </script> </head> <body> ...

Читать далее »

Почему JavaScript работает только после вскрытия инструменты разработчика в IE один раз?

В IE9 ошибка – JavaScript и работает только после вскрытия инструменты разработчика один раз. Наш сайт предлагает бесплатное скачивание в формате PDF для пользователей, и она имеет простой “введите пароль чтобы скачать” функции. Впрочем, он вообще не работает в Интернет Эксплорер. Вы сами можете увидеть на этом примере: http://www.makeuseof.com/pages/how-to-use-virtual-box Скачать перевал “простой, легкий”. В любом другом браузере, все работает нормально. ...

Читать далее »

Атрибут href для JavaScript ссылки: “#” или “JavaScript:недействительным(0)”?

Ниже приводятся два способа построения ссылками, единственной целью которых выполняется код JavaScript. Что лучше, в плане функциональности, скорости загрузки страниц, проверка целей, и т. д.? function myJsFunc() { alert("myJsFunc"); } <a href="#" onclick="myJsFunc();">Run JavaScript Code</a> или function myJsFunc() { alert("myJsFunc"); } <a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a> Когда у меня несколько искусственной-ссылок, я предпочитаю дать им класс ‘нет-ссылка”. Затем в jQuery, ...

Читать далее »

Простой способ повторить строку в Java

Я ищу простой способ общин или оператора, что позволяет мне повторить некоторые строки в N раз. Я знаю, я мог бы написать это с помощью цикла for, но я хотел бы избежать для петель по мере необходимости и простой прямой метод должен существовать где-то. String str = "abc"; String repeated = str.repeat(3); repeated.equals("abcabcabc"); Связанные с: повторите строку на JavaScript создать ...

Читать далее »

Создание XML файла средствами DOM XML

DOM XML предоставляет несколько удобных способов создания XML файлов. В этой статье мы рассмотрим один из них. В общем случае процедуру можно описать так: В первую очередь, нам необходимо создать объект типа Document с помощью объекта DocumentBuilder. Вновь созданный документ заполняется содержимым: узлами (нодами), элементами и атрибутами. Это делается с помощью класса Element. Наконец, с помощью объекта типа Transformer мы ...

Читать далее »

Создание XML с помощью JDOM XML

Библиотека JDOM предназначена для выполнения различных операций с XML документами и предоставляет разработчику более простые и удобные инструменты, по сравнению со штатными средствами работы с XML документами в Java. Данная статься покажет пример создания XML документа с помощью JDOM. XML файл <?xml version="1.0" encoding="UTF-8"?> <company>   <staff id="1">     <firstname>Иван</firstname>     <lastname>Иванов</lastname>     <nickname>ivanov</nickname>     <salary>100000</salary>   </staff>   <staff ...

Читать далее »

Изменение XML файла с помощью JDOM XML

JDOM — Java библиотека, которая предоставляет простой и удобный, по сравнению со штатными средствами Java, способ работы с XML документами. В данной статье мы рассмотрим пример программы, которая вносит изменения в существующий XML файл. Мы выполним следующие действия: Создание нового элемента Изменение значение атрибута существующего элемента Изменение значения существующего элемента Удаление элемента XML файл <?xml version="1.0" encoding="UTF-8" standalone="no"?> <company>    ...

Читать далее »

Чтение XML файла средствами JDOM XML

JDOM — Java библиотека, которая позволяет очень простой и удобный способ работы с XML документами. Объектная модель XML документа, которую строит библиотека JDOM позволяет производить операции чтения, изменения и записи в простой и удобной форме. Библиотека обладает простым и удобным API, работает быстро и не требует больших ресурсов (в отличие, например, от библиотеки DOM XML). Не смотря на то, что ...

Читать далее »

Подсчет XML элементов в файле средствами DOM XML

В данной статье будет показан пример программы, которая подсчитывает общее число элементов в XML документе с помощью DOM XML Parser-а. Механизм довольно прост: Сначала нам нужно получить объект NodeList, в котором содержится информация обо всех нужных нам XML элементах. После этого мы вызываем метод NodeList.getLength(), который и вернет нам общее число элементов. NodeList nodeList = documnet.getElementsByTagName("staff"); System.out.println("Количество элементов: " + ...

Читать далее »