Estoy teniendo unas pequeñas difucultades a la hora de conseguir un xml, el resultado deberia ser este
Código XML:
Ver original
<Proveedor fif="150" empresa="Mi Proveedor"> <calle>Mi Calle</calle> <ciudad>Madrid</ciudad> <pais>España</pais> <cp>2850</cp> <esNacional>Importacion</esNacional> <cafes> <Cafe> <marca>cafeIESCE</marca> <precio>5,3</precio> <venta>43</venta> </Cafe> <Cafe> <marca>cafeIESSanFer</marca> <precio>6.8</precio> <venta>45</venta> </Cafe> </cafes> </Proveedor>
El problema viene a la hora de generar los atributos cip y empresa, mi clase proveedor es la siguiente
Código Java:
Ver original
public class Proveedor { private ArrayList<Cafe> cafes = new ArrayList<Cafe>(); return cif; } this.cif = cif; } return empresa; } this.empresa = empresa; } return calle; } this.calle = calle; } return ciudad; } this.ciudad = ciudad; } return pais; } this.pais = pais; } return cp; } this.cp = cp; } return esNacional; } this.esNacional = esNacional; } public ArrayList<Cafe> getCafes() { return cafes; } public void setCafes(ArrayList<Cafe> cafes) { this.cafes = cafes; } }
En la documentacion de XStream he encontrado estos 2 metodos aliasFile(“nombreTag”, Clase.class, “nombreAtributo”) y useAttributeFor(Clase.class, "nombreAtributo"); el problema es que este ultimo no me lo reconoce como un metodo de la clase XStream es decir no lo puedo ejecutar y con el aliasFile ejecutandolo de la siguiente manera: xstream.aliasField("name", Proveedor.class, "cif");
consigo este xml
Código XML:
Ver original
<Proveedor> <cif>150</cif> <empresa>Mi Proveedor</empresa> <calle>Mi Calle</calle> <ciudad>Madrid</ciudad> <pais>España</pais> <cp>2850</cp> <esNacional>Importacion</esNacional> <cafes> <Cafe> <marca>cafeIESCE</marca> <precio>5,3</precio> <venta>43</venta> </Cafe> <Cafe> <marca>cafeIESSanFer</marca> <precio>6.8</precio> <venta>45</venta> </Cafe> </cafes> </Proveedor>
como si usase un alias normal.
Si me pueden ayudar se lo agradeceria.