1. 程式人生 > >使用JAXB 將javabean 轉化為xml物件

使用JAXB 將javabean 轉化為xml物件

最近做微信支付  需要傳遞xml格式的資料。

之前都是用map<String,String>轉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=  JAXBContext.newInstance(WxPayTransfer.class);
Marshaller marshaller = jb.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true);//格式化
marshaller.setProperty(Marshaller.JAXB_FRAGMENT,true); //去掉第一行宣告
marshaller.marshal(obj, sw);
String xml=sw.toString();
System.out.println(xml);

輸出結果:

相關推薦

使用JAXB javabean 化為xml物件

最近做微信支付  需要傳遞xml格式的資料。 之前都是用map<String,String>轉xml 感覺

JAXB 深入顯出 - JAXB 教程 Map 化為XML

摘要: JAXB 作為JDK的一部分,能便捷地將Java物件與XML進行相互轉換,本教程從實際案例出發來講解JAXB 2 的那些事兒。完整版目錄 前情回顧 上節介紹的是關於List的轉換方式,這一節開始,將基於Map這種資料型別做轉換。 Java 物件中含有 Map 這裡

JAXB 深入顯出 - JAXB 教程 List化為XML

摘要: JAXB 作為JDK的一部分,能便捷地將Java物件與XML進行相互轉換,本教程從實際案例出發來講解JAXB 2 的那些事兒。完整版目錄 前情回顧 之前介紹的都是關於某一種轉換方式,這一節開始,將基於某種資料型別做轉換。 Java 物件中含有 List 商品資訊中

JAXB 教程 Map 化為XML

摘要: JAXB 作為JDK的一部分,能便捷地將Java物件與XML進行相互轉換,本教程從實際案例出發來講解JAXB 2 的那些事兒。完整版目錄 前情回顧 上節介紹的是關於List的轉換方式,這一節開始,將基於Map這種資料型別做轉換。 Java 物件中含有 M

javascript中無法string化為json物件

在一次專案之中,我要對請求的相應做一些處理,得到的響應差不多是這中格式‘{total:1,result:[{“age”:1}]}’.可以看到我拿到的這個相應和JSON的格式是非常相似的,一開始我認為只要用JSON.parse進行轉化,但是這始終會報錯,無法進行轉

Gson通過反射Json化為java物件

Gson是Google提供的用來在Java物件和JSON資料之間進行對映的Java類庫。可以將一個Json字元轉成一個Java物件

xml檔案物件化為Map物件

一、基本思路 先將xml檔案轉化為document物件,並獲取到根節點,然後依次遍歷二級節點 如果二級節點擁有子節點的話:進入遞迴 如果二級節點沒有子節點的話:將資料封裝在本層Map 中 如果二級節點部分擁有子節點,部分沒有子節點,那麼進行特殊處理。 二、具體程式碼

JAXB 深入顯出 - JAXB 教程 Interface 介面化為XML

摘要: JAXB 作為JDK的一部分,能便捷地將Java物件與XML進行相互轉換,本教程從實際案例出發來講解JAXB 2 的那些事兒。完整版目錄 前情回顧 上一節介紹的是關於Map轉換方式,這一節開始,將基於Java Interface 介面做轉換。 對於XML來說,

python yaml標籤檔案化為xml格式的標籤檔案

最近在跑SSD和Faster R-CNN深度學習程式碼,下載了一些資料集,但是這些資料集標籤檔案不是xml格式檔案,而是yaml檔案,雖然網上有線上轉化的工具,但是這種做法對我來說顯然是很低效率的。為了提高效率,自己寫了相關的程式碼。現在分享給大家。感謝Bosch Small

map自動化為xml報文

public static byte[] callMapToXML(Map map) { logger.info("將Map轉成Xml, Map:" + map.toString()); StringBuffer sb = new StringBuffer();

MySQL化為mysqli

har exit etc 語句 mit mman ray 大神 eal <?php/** * Created by PhpStorm. * User: 大神 * Date: 2017/7/24 * Time: 11:29 */header(‘content-type

memo化為JPG輸出,使用Memo1.PaintTo(Bitmap.Canvas)

ali send sig .text ctr ace rap reat bit unit unit1; interface uses Windows, Messages, SysUtils, Graphics, Controls, Forms, StdCtrls,

php http化為https 小程序部署上線

展示 是否 程序 gateway 成員 進入 跟著 狀態 但是 哇,,,,,我都弄了好久呢!!!其實非常非常的簡單呢!!!! 初次接觸,迷茫之中,後來突然地一次嘗試就ok了,,,可以訪問https了,,,,開始報了很多錯,,例如502 Bad Gateway,,,404 N

Java 如何String化為Int

tac string ger mat tst valueof eof 轉化 form 在 Java 中要將 String 類型轉化為 int 類型時,需要使用 Integer 類中的 parseInt() 方法或者 valueOf() 方法進行轉換. 例1: 1

SqlDataReader 數據集化為datatbale ,在datatable 化為iList

type HERE tostring exception () tar del from helper 1 public IList GetModelList(string tablename, string where) 2 {

javaExcel化為Html

view mas pub str ali alt inpu hashmap align   之前在做移動端頁面的時候,發現iphone不支持預覽excel文檔,於是將excel轉化為html元素然後查看其中的具體信息,在這裏整理下文檔,以便於記憶避免踩坑。   1. 引入相

react標籤屬性dangerouslySetInnerHTML字串化為html(動態渲染)

根據需求,前端頁面有時需要動態展示後端返回的程式碼,但是此時的程式碼是字串型別,直接展示,頁面顯示的只是字串,這時就用到了react標籤屬性dangerouslySetInnerHtml屬性; dangerouslySetInnerHtml用法: dangerouslySetInnerH

POIword化為html

參考資料 1.POI包依賴:https://poi.apache.org/components/index.html 2.包版本問題:https://bbs.csdn.net/topics/392208805 並沒有使用其中的3.9的版本,使用的為3.13 最開始使用的

使用m2e工程化為maven工程後eclipse報Plugin execution not covered by l

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

用PHPUnicode 化為UTF-8

function unescape($str) { $str = rawurldecode($str); preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U", $str, $r); $ar = $r[0]; foreach(