<searchver="3.0"><locid="ARBA0009"type="1">Buenos Aires, Argentina</loc><locid="BRXX1283"type="1">Buenos Aires, Brazil</loc><locid="ARDF0127"type="1">Aeroparque Buenos Aires, Argentina</loc><locid="MXJO0669"type="1">Concepcion De Buenos Aires, Mexico</loc><locid="MXPA1785"type="1">San Nicolas De Buenos Aires, Mexico</loc><locid="ARBA0005"type="1">Balcarce, Argentina</loc><locid="ARBA0008"type="1">Bragado, Argentina</loc><locid="ARBA0010"type="1">Campana, Argentina</loc><locid="ARBA0016"type="1">Chascomus, Argentina</loc><locid="ARBA0019"type="1">Chivilcoy, Argentina</loc></search>
public class City {
private String id;
private Integer type;
private String name;
// getters & setters...
}
写个转换器
public class CityConverter implements Converter {
public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) {
City city = (City) value;
writer.addAttribute("id", city.getId());
writer.addAttribute("type", city.getType().toString());
writer.setValue(city.getName());
}
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
City city = new City();
city.setName(reader.getValue());
city.setId(reader.getAttribute("id"));
city.setType(reader.getAttribute("type"));
return city;
}
public boolean canConvert(Class clazz) {
return clazz.equals(City.class);
}
}