Библиотека демаршалинга / связывания Java, которая работает как с Android, так и с OpenJRE - PullRequest
0 голосов
/ 29 октября 2019

Я работаю над библиотекой Java, которая должна читать ввод XML, генерировать из нее иерархию классов Java и анализировать данные.

Теперь я ищу библиотеку привязки Java XML, которая поддерживает все мои требования:

  • Unmarshal XML-данные в объекты Java. Последние никогда не изменяются, поэтому манипулирование данными и маршалинг не требуются. Проверка также не является обязательным требованием.
  • Автоматическая генерация кода из XSD (в результате чего для данных, с которыми я работаю, существует около 500 классов), что делает генерацию кода вручную непрактичной).
  • Совместимо си OpenJRE, и Android (Android Studio не требуется).
  • Поддержка процесса сборки, который включает в себя Eclipse-cum-Maven и Gradle (генерация кода из XSD не требуется во время сборки - это нормально. сделать это заранее и передать сгенерированные классы в Git).

Я посмотрел на следующее:

  • JAXB - не поддерживается в Android, так как он полагаетсяв базовых классах, которые Android не включает и не позволяет приложениям импортировать
  • Простой - генерация кода из XSD
  • Castor невозможна из-за предполагаемой ошибки , которая вызываетнекоторые из сгенерированных классов для вызова несуществующего конструктора, java.lang.Object(String)
  • XMLBeans - могут работать, но имеют плохую поддержку типов (полагаясь на примитивгде это возможно, что делает его очень трудным для работы с нулевыми значениями и не отображает списки в виде списков)
  • JiBX - требует постобработки сгенерированного байт-кода класса, который мне не удалось заставить работать с Eclipse (для этого требуются плагины, которые не поддерживаются с середины 2013 года и имеют проблемы с современными версиями Eclipse и Java)

Кто-нибудь делал это раньше и сможет объяснить ихподход? То есть, либо способ заставить работать одну из перечисленных выше библиотек / наборов инструментов, либо рекомендацию для чего-то, что я еще не рассмотрел?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...