tengo el siguiente código XMLxstream analizar los atributos y valores, al mismo tiempo
<search ver="3.0">
<loc id="ARBA0009" type="1">Buenos Aires, Argentina</loc>
<loc id="BRXX1283" type="1">Buenos Aires, Brazil</loc>
<loc id="ARDF0127" type="1">Aeroparque Buenos Aires, Argentina</loc>
<loc id="MXJO0669" type="1">Concepcion De Buenos Aires, Mexico</loc>
<loc id="MXPA1785" type="1">San Nicolas De Buenos Aires, Mexico</loc>
<loc id="ARBA0005" type="1">Balcarce, Argentina</loc>
<loc id="ARBA0008" type="1">Bragado, Argentina</loc>
<loc id="ARBA0010" type="1">Campana, Argentina</loc>
<loc id="ARBA0016" type="1">Chascomus, Argentina</loc>
<loc id="ARBA0019" type="1">Chivilcoy, Argentina</loc>
</search>
y una clase de Ciudad
public class City {
private String id;
private Integer type;
private String name;
// getters & setters...
}
He intentado lo siguiente alias para analizar el código XML
xStream.alias("search", List.class);
xStream.alias("loc", City.class);
xStream.useAttributeFor("id", String.class);
xStream.useAttributeFor("type", Integer.class);
Pero no puedo encontrar la manera de establecer el valor de la etiqueta "loc", si intento transformar el objeto City en XML obtengo
<search>
<loc id="ARBA0001" type="1">
<name>Buenos Aires</name>
</loc>
</search>
cuando realmente lo necesito para obtener este
<search>
<loc id="ARBA0001" type="1">Buenos Aires</loc>
</search>
Entonces, si trato de analizar el código XML a un objeto City consigo el campo "Nombre" con un valor nulo.
¿Alguien sabe cómo configurar los alias correctos para hacer esto? Gracias por adelantado.
Mira mi publicación en el blog comparando JAXB y XStream: http://bdoughan.blogspot.com/2010/10/how-does-jaxb-compare-to-xstream.html –