Hola a todos, como veran soy nuevo en el foro.
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 originalpublic class Proveedor {
private ArrayList<Cafe> cafes = new ArrayList<Cafe>();
return cif;
}
public void setCif
(String cif
) { this.cif = cif;
}
return empresa;
}
public void setEmpresa
(String empresa
) { this.empresa = empresa;
}
return calle;
}
public void setCalle
(String calle
) { this.calle = calle;
}
return ciudad;
}
public void setCiudad
(String ciudad
) { this.ciudad = ciudad;
}
return pais;
}
public void setPais
(String pais
) { this.pais = pais;
}
return cp;
}
public void setCp
(String cp
) { this.cp = cp;
}
public String getEsNacional
() { return esNacional;
}
public void setEsNacional
(String 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.