public class B2BPayToXml { public Head head; public Body body; public void setHead(Head head) { this.head = head; } public void setBody(Body body) { this.body = body; } }
/** * 报文头部信息 * @author lizhiyong * @version $Id: Head.java, v 0.1 2014年9月24日 上午10:01:57 Exp $ */ public class Head { public String MerPtcId; public String TranTime; public String TranCode; public String TranDate; public Head(String merPtcId, String tranTime, String tranCode, String tranDate) { MerPtcId = merPtcId; TranTime = tranTime; TranCode = tranCode; TranDate = tranDate; } }
/** * 报文体信息 * @author lizhiyong * @version $Id: Body.java, v 0.1 2014年9月24日 上午10:03:30 Exp $ */ public class Body { public String MerTranSerialNo; public String SafeReserved; //协议信息 public PtcInfo ptcInfo; //业务信息 public BusiInfo busiInfo; //会员信息 public UserInfo userInfo; //商品信息 public GoodsInfo goodsInfo; //交易信息 public TranInfo tranInfo; //通道信息 public ChannelInfo channelInfo; //备注信息 public MemoInfo memoInfo; public void setMerTranSerialNo(String merTranSerialNo) { MerTranSerialNo = merTranSerialNo; } public void setSafeReserved(String safeReserved) { SafeReserved = safeReserved; } public void setPtcInfo(PtcInfo ptcInfo) { this.ptcInfo = ptcInfo; } public void setBusiInfo(BusiInfo busiInfo) { this.busiInfo = busiInfo; } public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } public void setGoodsInfo(GoodsInfo goodsInfo) { this.goodsInfo = goodsInfo; } public void setTranInfo(TranInfo tranInfo) { this.tranInfo = tranInfo; } public void setChannelInfo(ChannelInfo channelInfo) { this.channelInfo = channelInfo; } public void setMemoInfo(MemoInfo memoInfo) { this.memoInfo = memoInfo; } }
/** * 协议信息 * @author lizhiyong * @version $Id: PtcInfo.java, v 0.1 2014年9月24日 上午10:09:52 Exp $ */ public class PtcInfo { public String SubMerPtcId; public PtcInfo(String subMerPtcId) { SubMerPtcId = subMerPtcId; } }
/** * 业务信息 * @author lizhiyong * @version $Id: BusiInfo.java, v 0.1 2014年9月24日 上午10:08:00 Exp $ */ public class BusiInfo { public String MerOrderNo; public BusiInfo(String merOrderNo) { MerOrderNo = merOrderNo; } }
/** * 会员信息 * @author lizhiyong * @version $Id: UserInfo.java, v 0.1 2014年9月24日 上午10:08:47 Exp $ */ public class UserInfo { public String BuyerId; public String BuyerName; public String SellerId; public String SellerName; public UserInfo(String buyerId, String buyerName, String sellerId, String sellerName) { BuyerId = buyerId; BuyerName = buyerName; SellerId = sellerId; SellerName = sellerName; } }
/** * 商品信息 * @author lizhiyong * @version $Id: GoodsInfo.java, v 0.1 2014年9月24日 上午10:09:15 Exp $ */ public class GoodsInfo { public String GoodsName; public String GoodsTxt; public String GoodsDesc; public GoodsInfo(String goodsName, String goodsTxt, String goodsDesc) { GoodsName = goodsName; GoodsTxt = goodsTxt; GoodsDesc = goodsDesc; } }
/** * 交易信息 * @author lizhiyong * @version $Id: TranInfo.java, v 0.1 2014年9月24日 上午10:10:17 Exp $ */ public class TranInfo { public String TranModeId; public String TranAmt; public String TranCry; public TranInfo(String tranModeId, String tranAmt, String tranCry) { TranModeId = tranModeId; TranAmt = tranAmt; TranCry = tranCry; } }
/** * 通道信息 * @author lizhiyong * @version $Id: ChannelInfo.java, v 0.1 2014年9月24日 上午10:10:46 Exp $ */ public class ChannelInfo { public String ChannelApi; public String ChannelInst; public ChannelInfo(String channelApi, String channelInst) { ChannelApi = channelApi; ChannelInst = channelInst; } }
/** * 备注信息 * @author lizhiyong * @version $Id: MemoInfo.java, v 0.1 2014年9月24日 上午10:11:10 Exp $ */ public class MemoInfo { public String BuyerMemo; public String SellerMemo; public String PlatMemo; public String PayMemo; public MemoInfo(String buyerMemo, String sellerMemo, String platMemo, String payMemo) { BuyerMemo = buyerMemo; SellerMemo = sellerMemo; PlatMemo = platMemo; PayMemo = payMemo; } }
XStream xStream = new XStream(new DomDriver()); xStream.alias("Document", B2BPayToXml.class); //设置类别名 xStream.aliasField("Head", B2BPayToXml.class, "head"); xStream.aliasField("Body", B2BPayToXml.class, "body"); xStream.aliasField("PtcInfo", Body.class, "ptcInfo"); xStream.aliasField("BusiInfo", Body.class, "busiInfo"); xStream.aliasField("UserInfo", Body.class, "userInfo"); xStream.aliasField("GoodsInfo", Body.class, "goodsInfo"); xStream.aliasField("TranInfo", Body.class, "tranInfo"); xStream.aliasField("ChannelInfo", Body.class, "channelInfo"); xStream.aliasField("MemoInfo", Body.class, "memoInfo"); B2BPayToXml bToXml = new B2BPayToXml(); //头部信息 bToXml.setHead(new Head(merPtcId, tranTime, tranCode, tranDate)); //协议信息 PtcInfo ptcInfo = new PtcInfo(subMerPtcId); //业务信息 BusiInfo busiInfo = new BusiInfo(merOrderNo); //会员信息 UserInfo userInfo = new UserInfo(buyerId, buyerName, sellerId, sellerName); //商品信息 GoodsInfo goodsInfo = new GoodsInfo(goodsName, goodsTxt, goodsDesc); //交易信息 TranInfo tranInfo = new TranInfo(tranModeId, tranAmt, tranCry); //通道信息 ChannelInfo channelInfo = new ChannelInfo(channelApi, channelInst); //备注信息 MemoInfo memoInfo = new MemoInfo(buyerMemo, sellerMemo, platMemo, payMemo); Body body = new Body(); body.setMerTranSerialNo(merTranSerialNo); body.setSafeReserved(safeReserved); body.setPtcInfo(ptcInfo); body.setBusiInfo(busiInfo); body.setUserInfo(userInfo); body.setGoodsInfo(goodsInfo); body.setTranInfo(tranInfo); body.setChannelInfo(channelInfo); body.setMemoInfo(memoInfo); bToXml.setBody(body); String top = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n"; String xml = top + xStream.toXML(bToXml);
写一个测试类:代码就不写了:
结果:
<?xml version="1.0" encoding="UTF-8"?> <Document> <Head> <MerPtcId>0000</MerPtcId> <TranTime>0000</TranTime> <TranCode>0000</TranCode> <TranDate>0000</TranDate> </Head> <Body> <MerTranSerialNo>0000</MerTranSerialNo> <SafeReserved>0000</SafeReserved> <PtcInfo> <SubMerPtcId>0000</SubMerPtcId> </PtcInfo> <BusiInfo> <MerOrderNo>0000</MerOrderNo> </BusiInfo> <UserInfo> <BuyerId>0000</BuyerId> <BuyerName>0000</BuyerName> <SellerId>0000</SellerId> <SellerName>0000</SellerName> </UserInfo> <GoodsInfo> <GoodsName>0000</GoodsName> <GoodsTxt>0000</GoodsTxt> <GoodsDesc>0000</GoodsDesc> </GoodsInfo> <TranInfo> <TranModeId>0000</TranModeId> <TranAmt>0000</TranAmt> <TranCry>0000</TranCry> </TranInfo> <ChannelInfo> <ChannelApi>0000</ChannelApi> <ChannelInst>0000</ChannelInst> </ChannelInfo> <MemoInfo> <BuyerMemo>0000</BuyerMemo> <SellerMemo>0000</SellerMemo> <PlatMemo>0000</PlatMemo> <PayMemo>0000</PayMemo> </MemoInfo> </Body> </Document>
时间: 2024-11-03 21:04:50