Ciao,
č stato un po' rognoso ci ho messo 10 minuti a trovare la soluzione!
Tutta colpa degli import..
Questa č la mia main:
codice:import java.io.IOException;import java.util.ArrayList; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.dataformat.xml.XmlMapper; public class PatientMain { public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException { Patient mapp = new Patient(); mapp.setPatientId("0"); mapp.setPatientName("Francesco Muiā"); if(mapp.getListSerie() == null){ mapp.setListSerie(new ArrayList<Serie>()); } for(int a = 0; a<3; a++){ Serie s = new Serie(); s.setNoSerie("A" + a); mapp.getListSerie().add(s); } String xmlWado = new XmlMapper().writeValueAsString(mapp); System.out.println(xmlWado.replace("><",">\r\n<")); } }
Questa č la Patient:
codice:import java.io.Serializable; import java.util.ArrayList; import org.codehaus.jackson.annotate.JsonAutoDetect; import org.codehaus.jackson.annotate.JsonProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.xml.annotate.JacksonXmlRootElement; @JsonAutoDetect @JacksonXmlRootElement(localName ="Patient") public class Patient implements Serializable { private static final long serialVersionUID = -2981849269841429849L; @JsonProperty("patientId") @JacksonXmlProperty(isAttribute = true) private String patientId; @JsonProperty("patientName") @JacksonXmlProperty(isAttribute = true) private String patientName; @JacksonXmlProperty(localName="Series",isAttribute = true) @JacksonXmlElementWrapper(useWrapping = false ) private ArrayList<Serie> listSerie; public String getPatientId() { return patientId; } public void setPatientId(String patientId) { this.patientId = patientId; } public String getPatientName() { return patientName; } public void setPatientName(String patientName) { this.patientName = patientName; } public ArrayList<Serie> getListSerie() { return listSerie; } public void setListSerie(ArrayList<Serie> listSerie) { this.listSerie = listSerie; } }
Questa č Serie, tanto per...:
codice:public class Serie { private String noSerie=null; public String getNoSerie() { return noSerie; } public void setNoSerie(String noSerie) { this.noSerie = noSerie; } }
Last but not least gli imports di maven:
codice:<dependency> <groupId>com.fasterxml</groupId> <artifactId>jackson-xml-databind</artifactId> <version>0.6.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>org.codehaus.woodstox</groupId> <artifactId>woodstox-core-asl</artifactId> <version>4.1.4</version> </dependency>
....e questo č l'output:
codice:<Patient patientId="0" patientName="Francesco Muiā"> <Series><noSerie>A0</noSerie></Series> <Series><noSerie>A1</noSerie></Series> <Series><noSerie>A2</noSerie></Series> </Patient>
![]()


Rispondi quotando
