Serialisieren von Java-Liste, um XML-Daten mithilfe von Jackson XML-mapper
Hallo brauche ich zum erstellen einer XML-Datei aus JAVA mit Jackson-dataformat XMLMapper.
Das XML soll wie
<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>
Aber ich bekomme es immer gerne mit einem zusätzlichen "< Adressen> < /Adressen> - 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>
Ich benutze folgenden code zum erstellen von 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);
Bitte kann jemand mir helfen? Wie kann ich entfernen Sie die extra-tag bitte. Habe ich versucht, @XmlElement, aber es hilft nicht helfen. TIA!!
- Sie sind unter Liste von Adressen(Mehrere) in der customer-Klasse. also muss der übergeordnete Knoten-Adressen und seine Kind-Knoten-Adresse.
- Thx Manoj, aber ich will nicht jede elterliche Knoten. Kann man das irgendwie weglassen der elterlichen Knoten?
- Ich bekam die Antwort - müssen Nur auf die Verwendung von @JacksonXmlElementWrapper(useWrapping = false) Thx für verbringen Zeit es zu Lesen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie den code unten
Diese Einstellung ändert Standard-Verpackung Verhalten, wenn Sie nicht wollen, befassen sich mit annotation überall in Ihrem code.
Nur um ManojP Antwort, wenn das hinzufügen des
@JacksonXmlElementWrapper(useWrapping = false)
auf die Deklaration der variable nicht funktioniert (das war bei mir der Fall), indem es auf die get-Methode wird den trick tun.