Карта Java в XML через XSD - PullRequest
       3

Карта Java в XML через XSD

0 голосов
/ 05 марта 2012

Во-первых.Извините за плохой английский.
Я хочу сделать "обычное" преобразование Map в XML в соответствии с заданным XSD следующим образом:

  • ключ Map будет равен имени тега в XML
  • имена тегов в XML не будут дублироваться в разных узлах (уровнях)
  • значение в Map может содержать, например, список карт, представляющих повторяющиеся теги в созданном узле
  • XML должен соответствовать XSD.
  • и т. Д.

Так что я ищу компетентный способ понять это.
Есть ли кто-нибудь, кто работал с подобными задачами и может мне помочь?Любой совет будет оценен.Заранее спасибо!

PS Пример.

Map:  
"fname" : "Asdf"   
"lname" : "Fdsa"
"cars"  : "car" {"car1", "car2", "car3"}

XML:    
<fname>Asdf</fname>
<lname>Fdsa</lname>
<cars>
  <car>car1</car>
  <car>car2</car>
  <car>car3</car>
</cars>

1 Ответ

1 голос
/ 05 марта 2012

Во-первых, вам нужен один единственный корневой элемент.Это требование синтаксиса XML.Теперь вы можете использовать JAXB.Определите свой класс.сериализовано как XML на STDOUT.

Чтобы проанализировать XML обратно, скажите:

JAXBContext ctx = JAXBContext.newInstance("com.panpwr.api.model.deployment");
Unmarshaller unmarshaller = ctx.createUnmarshaller();
Data data = (Data)unmarshaller.unmarshal(in); // in is the input stream for XML
// now your instance of data is populated from XML
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...