Что представляет собой Java-аналог сериализации XML в .NET?
java
xml
serialization
Дмитрий Шехтман
источник
источник
Ответы:
Ответ 2008 г. «Официальным» Java API для этого теперь является JAXB - Java API для привязки XML. См. Учебник Oracle . Эталонная реализация находится по адресу http://jaxb.java.net/
Обновление 2018 Обратите внимание, что модули Java EE и CORBA устарели в SE в JDK9 и должны быть удалены из SE в JDK11 . Следовательно, чтобы использовать JAXB, он должен быть либо в вашей существующей среде корпоративного класса, связанной, например, с вашим сервером приложений, либо вам нужно будет ввести его вручную.
источник
XStream довольно хорошо сериализует объект в XML без особых настроек и денег! (это под лицензией BSD).
Мы использовали его в одном из наших проектов, чтобы заменить простую старую java-сериализацию, и он работал почти сразу же.
источник
Проект "Простая сериализация XML"
Вы можете взглянуть на проект Simple XML Serialization . Это самое близкое, что я нашел к System.Xml.Serialization в .Net.
источник
JAXB является частью стандартной версии JDK 1.6+. Так оно и есть,
FREE
и никаких дополнительных библиотек для загрузки и управления. Простой пример можно найти здесьXStream вроде мертв. Последнее обновление было 6 декабря 2008 г.
Simple
кажется таким же простым и простым, как JAXB, но я не смог найти никакой информации о лицензировании, чтобы оценить его для корпоративного использования.источник
Стоит отметить, что начиная с версии 1.4 в Java были классы java.beans.XMLEncoder и java.beans.XMLDecoder. Эти классы выполняют кодирование XML, которое, по крайней мере, очень сравнимо с сериализацией XML и в некоторых случаях может помочь вам.
Если ваш класс придерживается спецификации JavaBeans для своих геттеров и сеттеров, этот метод прост в использовании и вам не нужна схема. Со следующими оговорками:
Например, возьмите следующее объявление:
Выполнение этого кода:
Результатом будет следующий файл:
источник
java.beans.XMLDecoder
данных, предоставленных пользователем, может привести к уязвимости выполнения произвольного кода в вашем коде.XMLBeans отлично работает, если у вас есть схема для XML. Он создает объекты Java для схемы и создает простые в использовании методы синтаксического анализа.
источник
Если вы говорите об автоматической XML-сериализации объектов, посмотрите Castor :
источник
Обычно я использую jaxb или XMLBeans, если мне нужно создать объекты, сериализуемые в XML. Теперь я вижу, что XStream может быть очень полезным, поскольку он ненавязчив и имеет очень простой api. Я скоро поиграю с ним и, наверное, воспользуюсь. Единственный недостаток, который я заметил, - это то, что я не могу самостоятельно создать идентификатор объекта для перекрестных ссылок.
@Barak Schiller
Спасибо, что разместили ссылку на XStream!
источник
Не забывайте JiBX .
источник
если вам нужно структурированное решение (например, ORM), тогда JAXB2 - хорошее решение.
Если вам нужна сериализация, такая как DOT NET, вы можете использовать долгосрочное сохранение компонентов JavaBeans
Выбор зависит от использования сериализации.
источник
источник