Как мне лучше всего создавать и редактировать XML в моем приложении Java

Мне нужно создать некоторый XML программно, иногда с помощью программных вызовов, иногда начиная с чтения некоторого XML (строки), а затем пересматривая его с помощью вызовов. А затем запишите XML в поток.

Я полагаю, что запись лучше всего делать с помощью codehaus stax (если есть более новый способ, скажите, пожалуйста, какой). Но в остальном, в настоящее время я использую dom4j, он старый и заброшенный. Поэтому мне нужно перейти на то, что поддерживается и не имеет проблем с безопасностью.

Есть ли что-нибудь в среде выполнения Java? Или есть обычно используемая библиотека?

Мы используем Java 1.8, поэтому для решения не может требоваться версия 1.9 или новее.

# stax dom4j
Источник
  • 0
    У Джексона есть возможности xml
Codelisting
за 0 против

Здесь у вас много вариантов.

Парсеры

Парсеры берут весь документ (анализируемый SAX является исключением) и создают древовидную структуру из некоторых общих классов, таких какDocument ,Node и т.д .. Вы можете загрузить любой XML и работать с ним. Нет необходимости иметь какой-то класс, который бы представлял файл.

Плюсы

  • вы можете загрузить любой файл
  • у вас есть возможности всех стандартных инструментов XML, таких как преобразования XSLT, xpath и т. д.

Минусы

  • сложно создать новый файл программно
  • сложнее извлечь из него информацию

Инструменты

Сериализация объекта

Второй подход, который вы можете использовать, - это анализ объектов. По сути, у вас есть класс, который представляет вашу структуру данных, и вы сериализуете его в / из XML.

Плюсы

  • супер простой в использовании
  • быстро просто читать / записывать данные из существующих структур данных

Минусы

  • непросто использовать XSLT и т. д.
  • не может читать случайные файлы XML

Инструменты

  • JAXB
  • XStream
  • Джексон
Codelisting
Популярные категории
На заметку программисту