XStream 转换测试



import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.security.AnyTypePermission;
import com.wj.wx.domain.event.CardPassOrNotPassCheckEvent;
import com.wj.wx.domain.event.CardUpdateMemberCardEvent;
import com.wj.wx.domain.event.CardUserGetCardEvent;
import com.wj.wx.domain.event.CommonEvent;


public class XsteamTest {


public static void main(String[] args) throws Exception {
String xml = "<xml> \n" + "  <ToUserName><![CDATA[112]]></ToUserName>  \n"
+ "  <FromUserName><![CDATA[111]]></FromUserName>  \n" + "  <CreateTime>123456789</CreateTime>  \n"
+ "  <MsgType><![CDATA[event]]></MsgType>  \n"
+ "  <Event><![CDATA[card_pass_check]]></Event> //不通过为card_not_pass_check \n"
+ "  <CardId><![CDATA[cardid]]></CardId>  \n" + "  <RefuseReason><![CDATA[非法代制]]></RefuseReason> \n"
+ "</xml>";
xml = "<xml>\n" + "<ToUserName> <![CDATA[gh_fc0a06a20993]]> </ToUserName>\n"
+ "<FromUserName> <![CDATA[oZI8Fj040-be6rlDohc6gkoPOQTQ]]></FromUserName>"
+ "<CreateTime>1472551036</CreateTime>" + "<MsgType> <![CDATA[event]]> </MsgType>"
+ "<Event> <![CDATA[user_get_card]]> </Event>"
+ "<CardId> <![CDATA[pZI8Fjwsy5fVPRBeD78J4RmqVvBc]]> </CardId>" + "<IsGiveByFriend>0</IsGiveByFriend>"
+ "<UserCardCode> <![CDATA[226009850808]]> </UserCardCode>"
+ "<FriendUserName> <![CDATA[]]> </FriendUserName>" + "<OuterId>0</OuterId>"
+ "<OldUserCardCode> <![CDATA[]]> </OldUserCardCode>" + "<OuterStr> <![CDATA[12b]]> </OuterStr>"
+ "<IsRestoreMemberCard>0</IsRestoreMemberCard>" + "<IsRecommendByFriend>0</IsRecommendByFriend> "
+ "</xml>";
XStream stream = new XStream();
stream.addPermission(AnyTypePermission.ANY);
stream.processAnnotations(CommonEvent.class);//BASE 
stream.processAnnotations(CardPassOrNotPassCheckEvent.class);
stream.processAnnotations(CardUserGetCardEvent.class);
stream.processAnnotations(CardUpdateMemberCardEvent.class);
CommonEvent event = (CommonEvent) stream.fromXML(xml);
String evenType = event.getEvent().trim();
switch (evenType) {
case "user_get_card":
CardUserGetCardEvent userGetCardEvent = (CardUserGetCardEvent) stream.fromXML(xml);
System.out.println(userGetCardEvent.getToUserName());
break;
case "card_pass_check":
case "card_not_pass_check":
CardPassOrNotPassCheckEvent passCheckEvent = (CardPassOrNotPassCheckEvent) stream.fromXML(xml);
System.out.println(passCheckEvent.getMsgType());
break;
case "update_member_card":
CardUpdateMemberCardEvent updateMemberCardEvent = (CardUpdateMemberCardEvent) stream.fromXML(xml);
System.out.println(updateMemberCardEvent.getCardId());
break;
default:
System.out.println(evenType);
break;
}


}


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值