<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 19,  comments - 11,  trackbacks - 0
    如果想 JAXB 2.0 XJC 映射 xs:date 到 java.util.Date
    最簡單的方法是直接更改生成的代碼, 找到所有XMLGregorianCalendar 然后用Date 替換. 如果有好的IDE工具很容易做到, 但這只對schema不常改動有用,否則每次都要做替換.

    如果想讓XJC生成正確的東西, 需要做customization
    <xs:schema elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0" targetNamespace="calendar-schemalet">
      
    <xs:annotation><xs:appinfo>
        
    <jaxb:globalBindings>
          
    <jaxb:javaType name="java.util.Calendar" xmlType="xs:date"
            parseMethod
    ="javax.xml.bind.DatatypeConverter.parseDate"
            printMethod
    ="javax.xml.bind.DatatypeConverter.printDate"
            
    />
        
    </jaxb:globalBindings>
      
    </xs:appinfo></xs:annotation>
    </xs:schema>
    javaType 會做到, 上面是把xs:date 映射到 Calendar類型, 如果要映射到Date, 需要定義一對靜態方法去轉換 XML string 和 Date. 下面是轉換代碼
    public class DateAdapter {
      
    public static Date parseDate(String s) {
        
    return DatatypeConverter.parseDate(s).getTime();
      }

      
    public static String printDate(Date dt) {
        Calendar cal 
    = new GregorianCalendar();
        cal.setTime(dt);
        
    return DatatypeConverter.printDate(cal);
      }

    }
    替換上面 parse/print 方面就可以了
    <xs:schema elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0" targetNamespace="calendar-schemalet">
      
    <xs:annotation><xs:appinfo>
        
    <jaxb:globalBindings>
          
    <jaxb:javaType name="java.util.Date" xmlType="xs:date"
            parseMethod
    ="DateAdapter.parseDate"
            printMethod
    ="DateAdapter.printDate"
            
    />
        
    </jaxb:globalBindings>
      
    </xs:appinfo></xs:annotation>
    </xs:schema>

    posted on 2008-11-14 15:06 happyy2k 閱讀(1834) 評論(2)  編輯  收藏 所屬分類: Web Service

    FeedBack:
    # re: 轉換 xs:date 到 java.util.Date 的Tips[未登錄]
    2012-08-12 06:37 | 劉軍
    你好, 我想問下 JAXB如何覆蓋自定義的數據類型

    能給出詳細的步聚嗎

    謝謝!  回復  更多評論
      
    # re: 轉換 xs:date 到 java.util.Date 的Tips[未登錄]
    2012-08-12 06:45 | 劉軍
    你好, 我想問下 JAXB如何覆蓋自定義的數據類型
    能給出詳細的步聚嗎

    跪求!  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    <2008年11月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    常用鏈接

    留言簿(2)

    隨筆分類(20)

    隨筆檔案(12)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 一区二区三区观看免费中文视频在线播放 | 在线免费一区二区| 自拍偷自拍亚洲精品播放| 亚洲成av人片不卡无码久久| 日本在线免费播放| 亚洲无码一区二区三区| 亚洲宅男天堂在线观看无病毒| 久久青草国产免费观看| 亚洲精品女同中文字幕| 亚洲国产精品VA在线观看麻豆| 亚洲欧洲精品无码AV| 亚洲一区免费视频| 一级午夜a毛片免费视频| 亚洲天堂久久精品| 哒哒哒免费视频观看在线www| 久久免费动漫品精老司机| 黄色一级视频免费| 亚洲乱码无限2021芒果| 亚洲性日韩精品国产一区二区| 又黄又爽又成人免费视频| 全黄大全大色全免费大片| 亚洲国产精品成人综合色在线| 亚洲激情视频在线观看| 亚洲精品高清在线| 女人18一级毛片免费观看| 无码专区AAAAAA免费视频| 色www免费视频| 国内精品久久久久影院亚洲| 久久久久久亚洲精品| 亚洲成a人片在线播放| 思思99re66在线精品免费观看| 国产猛男猛女超爽免费视频| 国产亚洲精品美女久久久久久下载| 亚洲欧洲日韩国产| 香蕉视频在线观看亚洲| 亚洲一级片免费看| 国产精品嫩草影院免费| 啦啦啦高清视频在线观看免费| 97在线视频免费播放| 久久国产亚洲精品| 亚洲欧洲日产国码www|