最近做微信支付 需要传递xml格式的数据。
之前都是用map转xml 感觉把对象属性再put到map里 很麻烦。 就想有没有能直接从javabean 到 xml的方法,网上一搜还真的有。
首先javabean 要添加@XmlRootElemen注解 因为微信要求,不加的话最外层就是类名。
@XmlRootElement(name = "xml",namespace="")
public class WxPayTransfer {
private String mch_appid;
private String mchid;
private String nonce_str;
private String sign;
private String partner_trade_no;
private String openid;
private String check_name;
private String re_user_name;
private String amount;
private String desc;
private String spbill_create_ip;
}
然后 使用java自带的包 JAXBContent 就可以简单实现
WxPayTransfer obj=WxPayTransfer.builder()
.mch_appid("appid")
.mchid("123456")
.nonce_str("test")
.build();
JAXBContext jb= JAXBCont