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

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

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

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

В этой статье мы рассмотрим две программы, которые читают XML файл средствами библиотеки DOM XML Parser. DOM XML парсер читает содержимое всего XML файла и загружает в оперативную память. Таким образом, строится объектная модель исходного XML документа, используя которую можно работать с данными: читать/добавлять/удалять элементы документа, совершать обход дерева элементов и так далее. Если коротко, то библиотека DOM XML строит ...

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

Примеры использования JAXB

JAXB расшифровывается как Java Architecture for XML Binding. Это технология, которая позволяет при помощи специальных аннотаций преобразовывать Java объекты в XML документы и обратно. В данном руководстве мы покажем, как использовать JAXB для выполнения операций: Marshalling — преобразование Java объекта в XML файл; Unmarshalling — преобразование XML файла в Java объект. Работать с JAXB довольно просто: достаточно проаннотировать свои классы ...

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

Создание 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 ...

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