I have the following XML
<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>
And city class
public class City { private String id; private Integer type; private String name;
I tried the following aliases for parsing XML
xStream.alias("search", List.class); xStream.alias("loc", City.class); xStream.useAttributeFor("id", String.class); xStream.useAttributeFor("type", Integer.class);
But I canβt figure out how to set the value of the βlocβ tag, if I try to convert the City object to XML, I get
<search> <loc id="ARBA0001" type="1"> <name>Buenos Aires</name> </loc> </search>
When do I really need to get this
<search> <loc id="ARBA0001" type="1">Buenos Aires</loc> </search>
Then, if I try to parse the XML into a City object, I get a "name" field with a null value.
Does anyone know how to set the correct aliases for this? Thanks in advance.
xml xstream
gurbieta
source share