xml与Java对象的转换详解

xml与Java对象的转换详解

1.xstream解析报文

XStreamComponent x = XStreamComponent.newInstance();
 x.processAnnotations(new Class[]{EquityExchangeDetail.class,PearTicketCustomerDTO.class,Date.class,Integer.class});
 EquityExchangeDetail ptd = (EquityExchangeDetail) x.fromXML(xml);

2.xstream封装报文

XStreamComponent xres = XStreamComponent.newInstance();
    xres.processAnnotations(new Class[]{TransResult.class});
 String result=xres.toXML(transResult);

3.注解:

@XStreamAlias("customerInfo")  //报文中节点对应类名“PearTicketCustomerDTO”
public class PearTicketCustomerDTO {
@XStreamAlias("idno")   //报文中节点对应类属性“idno”
 private String idno;
@XStreamOmitField
private Long ticketId;  //报文中无节点 ,解析时忽略类属性ticketId

4.方法比较

x.processAnnotations(new Class[]{PearTicketDTO.class}):读取类名注解
x.alias(new Class[]{PearTicketDTO.class}):不读取类名注解

5.解析报文

x.alias("Equities", List.class);--把报文节点 转化为List对象
x.alias("Equity", Equity.class);--把报文节点 转化为Equity类对象
List equities = (List) x.fromXML(xml);--开始转化

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

你可能感兴趣的:(xml与Java对象的转换详解)