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>