Простой Java Xml к отображению/привязке POJO?

Существует несколько причин, некоторые будут более применимыми, чем другие

  • , Если Ваш проект будет работаться на двумя или больше людьми
  • , Это - хороший способ захватить последнюю версию кода, что Вы не работаете над
  • А, который ночная сборка обеспечивает части во время текущего состояния кода
  • А, ночная сборка даст Вам стабильную сборку, если необходимо отправить код людям
10
задан vicsz 30 October 2009 в 19:47
поделиться

4 ответа

Эта статья может вам помочь ... она требует только знания xpath http://onjava.com/onjava/2007/09/07/schema-less-java-xml-data-binding-with-vtd-xml.html

3
ответ дан 4 December 2019 в 00:25
поделиться

Jakarta Commons Digester должен делать то, что вы хотите.

В качестве альтернативы я бы рекомендовал написать класс преобразования, который использует XPath для извлечения элементов из XML.

3
ответ дан 4 December 2019 в 00:25
поделиться

Я считаю JiBX лучшим из множества (JAXB, Castor, XMLBeans и т. Д.), Особенно потому, что я предпочитаю сопоставление файлов аннотациям. По общему признанию, у него приличная кривая обучения, но на сайте есть много хороших примеров. Вы, должно быть, пропустили учебник .

Если вы идете только в одну сторону (XML -> POJO), вы можете использовать Digester .

Дополнительный комментарий: я предпочитаю отображение файлы над аннотациями, потому что аннотации:

  • загромождают код (особенно при использовании аннотаций из нескольких продуктов)
  • смешанные проблемы (XML, база данных и т. д. на уровне домена)
  • могут связываться только с одним XML (или базой данных , или веб-сервис и т. д.) представление
2
ответ дан 4 December 2019 в 00:25
поделиться

EclipseLink JAXB (MOXy) позволяет вам выполнять сопоставление на основе пути, которое вы ищете:

@XmlRootElement 
class Animal 
{ 
 @XmlPath("standardName/Name/text()")
 private String name; 

 @XmlPath("standardVersion/VersionIdentifier/text()");
 private String versionIdentifier; 
} 

Для получения дополнительной информации см .:

EclipseLink также позволяет указывать метаданные с помощью внешнего файла конфигурации:

4
ответ дан 4 December 2019 в 00:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: