Witam Potrzebuję stworzyć XML z JAVA używając Jackson-dataformat XMLMapper. XML powinny być jakSerialize Java List do XML przy użyciu mapera Jackson XML
<Customer>
<id>1</id>
<name>Mighty Pulpo</name>
<addresses>
<city>austin</city>
<state>TX</state>
</addresses>
<addresses>
<city>Hong Kong</city>
<state>Hong Kong</state>
</addresses>
</Customer>
Ale mam go zawsze jak z dodatkową "< adresy> </adresy>" tag.
<Customer>
<id>1</id>
<name>Mighty Pulpo</name>
<addresses>
<addresses>
<city>austin</city>
<state>TX</state>
</addresses>
<addresses>
<city>Hong Kong</city>
<state>Hong Kong</state>
</addresses>
<addresses>
</Customer>
Używam poniżej kodu do tworzenia XML
JaxbAnnotationModule jaxbAnnotationModule = new JaxbAnnotationModule();
XmlMapper mapper = new XmlMapper();
mapper.enable(SerializationFeature.INDENT_OUTPUT);
mapper.registerModule(jaxbAnnotationModule);
mapper.registerModule(new GuavaModule());
String xml = mapper.writeValueAsString(customer);
System.out.println(xml);
Proszę może ktoś mi pomóc? Jak mogę usunąć dodatkowy tag? Próbowałem użyć @XmlElement, ale to nie pomaga. TIA !!
Masz listę adresów (wiele) w klasie klienta. więc musisz mieć adresy węzłów nadrzędnych, a ich węzeł podrzędny będzie adresem. – ManojP
Thx Manoj, ale nie chcę żadnego węzła rodzicielskiego. Czy możemy jakoś ominąć węzeł rodzicielski? –
Mam odpowiedź - Wystarczy użyć @JacksonXmlElementWrapper (useWrapping = false) Thx dla spędzania czasu, aby ją przeczytać. –