У меня есть следующий повторяющийся шаблон: я вызываю черный ящик с некоторыми параметрами и в результате получаю List<Map<String, Object>>
(или что-то эквивалентное), где каждая карта имеет один и тот же набор ключей. Затем я должен создать XML вида
<list>
<item key1='value1' ...>
<keyX>valueX</keyX>
</item>
</list>
Имена элементов списка и элементов, а также то, будет ли определенный ключ подэлементом или атрибутом элемента, зависит от конкретной задачи. Я хотел бы свести к минимуму ручное подключение ключей Map к XML.
Сначала я представлял себе способ создать шаблон XML, который описывал бы ключи карты для сопоставления элемента / атрибута. Затем я решил, что для этого и нужен XSD, поэтому я мог бы использовать этот формат для определения шаблона. Однако я не мог найти хорошее решение для генерации XML из XSD. Я посмотрел на JAXB, и он кажется слишком тяжелым для моих сценариев: мне не нужны классы Java - было бы неплохо иметь доменные объекты, за исключением того, что я никогда ничего не делаю с данными. Затем я должен сначала сопоставить свои данные с классами, что кажется неэффективным, если просто выгрузить их маршаллером. Во-вторых, я хотел бы сохранить большую гибкость - если формат данных (т. Е. Набор ключей в каждой карте) изменится, мне нужно будет только изменить схему, а не восстанавливать источники и перестраивать.
Спасибо, что прочитали:)