Предположим, у меня есть класс Foo с некоторыми примитивными переменными экземпляра. Я инициализирую их со свойствами в файлах XML. Теперь каждый Foo также имеет Bar как переменную, которая, в свою очередь, имеет свои собственные свойства. Поскольку они привязаны к охватывающему объекту, имеет смысл держать их в одном файле. Как мне отформатировать XML так, чтобы он мог инициализировать объект?XML-иерархия с свойствами Java
1
A
ответ
2
Посмотрите на XStream, что позволяет тривиально сериализовать/десериализировать иерархию объектов Java в/из XML.
В своем простейшем случае он будет работать с POJO, который не требует дополнительной работы (никаких интерфейсов/базовых классов и т. Д.). Но вы можете настроить, как сериализовать и десериализовать переименование элементов и т. Д., Чтобы они соответствовали существующей структуре XML.
5
Использование Spring. Он специально разработан, чтобы разрешить инициализацию этого типа, включая обработку ссылок между объектами.
0
JAXB стоит посмотреть:
public class JaxbDemo {
@XmlRootElement
public static class Foo {
@XmlElement public Bar bar;
}
public static class Bar {
@XmlAttribute public int baz;
}
public static void main(String[] args) {
String xml = "<foo><bar baz='123'/></foo>";
Foo foo = JAXB.unmarshal(new StringReader(xml), Foo.class);
System.out.println(foo.bar.baz);
}
}
(Открытые члены используются для демонстрационных целей.)
Смежные вопросы
- 1. Log4j: Конфигурирование FallbackErrorHandler с свойствами
- 2. Hibernate SQLQuery с переходными свойствами
- 3. создание множества объектов со свойствами столкновения. JAVA
- 4. Управление свойствами конфигурации приложения в Java
- 5. Проблема с свойствами AspectJ
- 6. Проблема с автоматическими свойствами
- 7. DataRow с динамическими свойствами
- 8. Нокаут с классовыми свойствами
- 9. React.createClass с пользовательскими свойствами
- 10. Singleton с открытыми свойствами
- 11. Проблема с файловыми свойствами
- 12. NSMutableArray с несколькими свойствами
- 13. Обтекание с зависимыми свойствами
- 14. Поле C# с 'свойствами'
- 15. Навигация с свойствами OData
- 16. Протоколы с дополнительными свойствами?
- 17. Связывание с двумя свойствами
- 18. Интерфейс с неизвестными свойствами
- 19. селектор с двумя свойствами
- 20. @TestPropertySource с динамическими свойствами
- 21. Запустите Java со свойствами из переменной окружения
- 22. Операции с файлом свойствами вызывают проблемы в Java
- 23. Утверждение двух экземпляров в java с ограниченными свойствами
- 24. Управление свойствами защиты рабочего листа MS Excel с использованием java
- 25. JSON для десериализации объектов Java с экранированными свойствами
- 26. Мастер подключения NetBeans IDE и java beans с ограниченными свойствами
- 27. в Java, как создать н число строк с определенными свойствами
- 28. Поддерживает ли Java создание типа с LESS-свойствами, чем родительский?
- 29. Создание объектов с различными свойствами из одного класса - JAVA
- 30. Как поделиться всеми свойствами двух интерфейсов с теми же свойствами
До сих пор мне нравится идея XStream, глядя на их примерах. Тем не менее, у меня возникло страшное исключение «контент, не разрешенный в прологе». –
Обновление: мне удалось заставить его работать (я был настолько глуп, чтобы читать из String, а не FileInputStream), не говоря уже о том, что мои XML-файлы выглядят намного красивее. Я доволен этим решением. –