Jackson FasterXML POJO A XML list

0

I use FasterXML Jackson to convert a POJO to XML but I want the children of the parent tag in the list to have a different name. How can I do it?

ORDEN:

@JacksonXmlRootElement(localName = "eOrden") 
public class Orden {               
   @JacksonXmlProperty(localName = "General")
   private General general = new General();
   @JacksonXmlProperty(localName = "Domicilio")
   private List<Domicilio> eDomicilio = new ArrayList<>();
   @JacksonXmlProperty(localName = "eTarjetasLinea")
   private List<ETarjetasLinea> tarjetasLinea = new ArrayList<>();
   @JacksonXmlProperty(localName = "ElementosADSL")
   private ElementosADSL elementosADSL;
   @JacksonXmlProperty(localName = "Red")
   private Red red;
}


DOMICILIO:

@JacksonXmlRootElement(localName = "eDomicilio")
public class Domicilio {
    @JacksonXmlProperty(localName = "TipoDomicilio")
    private String tipoDomicilio;
    @JacksonXmlProperty(localName = "Central")
    private String identificadorCalle;
    @JacksonXmlProperty(localName = "IdentificadorCalle")
    private String calle;
    @JacksonXmlProperty(localName = "Calle")
    private String numero;
    @JacksonXmlProperty(localName = "Colonia")
    private String colonia;
    @JacksonXmlProperty(localName = "CP")
    private String cp;
}

Cuando pruebo con esto arroja lo siguiente:

<eOrden xmlns="">
    <General />
    <Domicilio >
        <Domicilio>
            <TipoDomicilio />
            <Central />
            <IdentificadorCalle />
            <Calle />
            <Colonia />
            <CP />           
        </Domicilio>
    </Domicilio>
    <eTarjetasLinea></eTarjetasLinea>
    <ElementosADSL />
    <Red />
</eOrden>

Pero requiero que el tag hijo de Domicilio sea eDomicilio:

<eOrden xmlns="">
    <General />
    <Domicilio >
        <eDomicilio>
            <TipoDomicilio />
            <Central />
            <IdentificadorCalle />
            <Calle />
            <Colonia />
            <CP />           
        </eDomicilio>
    </Domicilio>
    <eTarjetasLinea></eTarjetasLinea>
    <ElementosADSL />
    <Red />
</eOrden>

Any ideas on how to change it? Greetings!

    
asked by Marco Antonio Mota 25.07.2017 в 16:27
source

1 answer

0

There is an option to change the name of the field for when you can not edit a class of another person or when you do not want to mess up the class by putting notes everywhere:

Jackson MixIns

    
answered by 25.07.2017 в 17:38