xml与Java对象的转换详解
xml与Java对象的转换详解
1.xstream解析报文
XStreamComponentx=XStreamComponent.newInstance();
x.processAnnotations(newClass[]{EquityExchangeDetail.class,PearTicketCustomerDTO.class,Date.class,Integer.class});
EquityExchangeDetailptd=(EquityExchangeDetail)x.fromXML(xml);
2.xstream封装报文
XStreamComponentxres=XStreamComponent.newInstance();
xres.processAnnotations(newClass[]{TransResult.class});
Stringresult=xres.toXML(transResult);
3.注解:
@XStreamAlias("customerInfo")//报文中节点对应类名“PearTicketCustomerDTO”
publicclassPearTicketCustomerDTO{
@XStreamAlias("idno")//报文中节点对应类属性“idno”
privateStringidno;
@XStreamOmitField
privateLongticketId;//报文中无节点,解析时忽略类属性ticketId
4.方法比较
x.processAnnotations(newClass[]{PearTicketDTO.class}):读取类名注解
x.alias(newClass[]{PearTicketDTO.class}):不读取类名注解
5.解析报文
x.alias("Equities",List.class);--把报文节点转化为List对象
x.alias("Equity",Equity.class);--把报文节点转化为Equity类对象
Listequities=(List)x.fromXML(xml);--开始转化
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!