亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JAXB解析xml轉換為POJO

2019-11-10 17:15:23
字體:
來源:轉載
供稿:網友

一。概述

JAXB(java Architecture for xml Binding)是由 J2EE 體系中標準的 XML schema 和 Java 數據綁定框架,開發者可以使用 JAXB 方便地在 Java 應用程序中進行XML 數據和 Java 對象的轉換。JAXB 提供了將 XML 文檔解析為 Java 內容樹的方法,以及將 Java 內容樹重新寫回 XML 文檔的方法。同時 JAXB 還提供了基于 XML schema 生成 Java 類以及從 Java 類生成 XML schema 的支持。二。JAXB 框架分為以下三個組成部分:

schema 編譯器:schema 編譯器以 XML schema 為輸入生成和 schema 相對應的 Java 類集,生成的 Java 類中會根據 schema 的結構自動包含了相應的 JAXB 注解。     比方說 schema 里的一個元素映射的 Java 類會自動用 @XmlType 注解加以標注,一個元素的屬性所映射的 Java 字段會自動用 @XmlElement 注解加以標注;

schema 生成器:schema 生成器以包含 JAXB 注解的 Java 類集為輸入生成相應的 XML schema。比方說一個包含 @XmlType 注解的 Java 類在生成的schema 中會被映射為一個元素;

JAXB 運行環境:JAXB 運行時環境提供了兩個基本的操作用于 XML 文檔的訪問,操作以及驗證等等:marshal、unmarshal,這兩個操作也是 XML 和 Java 綁定的基礎。Marshal 是指將一個內存對象以 XML 文檔形式進行編組處理的過程,unmarshal 則是一個相反的過程,將一個 XML 文檔解析為內存對象的過程。

三。JAXB基礎---XML SchemaXML schema 是 XML 文檔的格式定義,是 DTD 的替代產品用于約束 XML 文檔內容及結構,比如它定義了 XML 文檔可以出現的元素,元素出現的順序,元素具有的屬性等。XML schema 本身就是一個 XML 文檔,因此天然具有了 XML 的可擴展性。同時 XML schema 對 XML 數據類型提供了更為豐富的支持。JAXB 框架的基礎就是 XML schema,一個使用 JAXB 的典型場合就是根據業務數據模型需要先寫出 XML schema,然后利用 JAXB 框架的綁定編譯器直接生成 XML 相應的 Java 類集。四。JAXB與WEB服務的關系

JAX-WS 型 Web 服務將 XML 和 Java 之間的綁定代理給了 JAXB 來完成,也就是說在 Web 服務調用過程中的 XML 數據和 Java 對象間轉換都是由 JAXB 框架來完成的。Web 服務中接口引用的參數、返回類型等等數據類型描述都是在關聯的 XML schema 中定義的,而 JAXB 框架也正是根據這個 Web 服務關聯的 XML schema 來完成于 Java 對象之間的相互映射。從 Java 到 XML schema 的映射開發者可以通過 JAXB 提供的注解來完成,在編程 Java 類時可以使用 JAXB 豐富的注解輕松地完成綁定定制。五。使用JAXB來定制WEB服務@XmlRootElement  注解用于標注類或枚舉類型,用它標注的類在映射后的 schema 中會以一個全局元素的形式出現

參數:name   定制映射的 schema 全局元素的名稱,一般來說以 @XmlRootElement 標注的類在相應的 XML 文檔中會以最外層或根節點形式出現。

      namespace    定義這個根節點命名空間, XML元素的名稱空間名例:

@XmlaccessorType  定義映射這個類中的何種類型需要映射到XML。      可接收四個參數,分別是:

      XmlAccessType.FIELD:映射這個類中的 PRivate 非靜態所有字段到XML

      XmlAccessType.PROPERTY:映射這個類中的屬性(get/set方法)到XML

      XmlAccessType.PUBLIC_MEMBER:將這個類中的所有public的field或property同時映射到XML(默認)

      XmlAccessType.NONE:不映射例如:@XmlAccessorType(XmlAccessType.FIELD)           @XmlAccessorType(value = XmlAccessType.PROPERTY) 

@XmlType  @XmlType 注解用于標注類或枚舉類型,用它標注的類在映射后的 schema 中中會以一個 XML 復雜數據類型的形式出現

參數:propOrder        指定映射XML時的節點順序,來指定輸出順序,來定制映射后的復雜數據類型的內容順序

         factoryClass     指定UnMarshal時生成映射類實例所需的工廠類,默認為這個類本身

         factoryMethod  指定工廠類的工廠方法

         name               定義XML Schema中type的名稱,定制映射的 XML 數據類型的名稱

         namespace      指定Schema中的命名空間

例:

@XmlElement  1)@XmlElement 注解用于標注 Javabean 的屬性,用它標注的屬性在映射后的 schema 中以元素的形式出現,所有 Javabean 屬性映射的元素組合成為  @XmlType 映射的復雜數據類型.2)指定一個字段或get/set方法映射到XML的節點。如,當一個類的XmlAccessorType 被標注為PROPERTY時,在某一個沒有get/set方法的字段上標注此注解,即可將該字段映射到XML。

參數:defaultValue  指定節點默認值

           name             指定節點名稱,定制映射后的 XML 元素的名稱

          namespace    指定節點命名空間

          required         指定該元素是否必須出現.是否必須(默認為false)required() 為 true,則將Javabean 屬性映射到一個 minOccurs="1" 的 XML 模式元素聲明                              。maxOccurs為 "1" 表示單個賦值的屬性,maxOccurs 為 "unbounded" 則表示多個賦值的屬性。

         nillable           該字段是否包含 nillable="true" 屬性(默認為false)

         type               定義該字段或屬性的關聯類型例:

@XmlAttribute  指定一個字段或get/set方法映射到XML的屬性。用于標注 Javabean 屬性,用它標注的屬性在映射后的 schema 中以元素屬性形式表現

參數:name             指定屬性名稱,定制映射后的名稱

         namespace    指定屬性命名空間

         required         是否必須(默認為false,指定是否映射后的屬性為必須出現的例:

這個 Java 類在映射后的 Web 服務 schema 中會表現為:

@XmlTransient  定義某一字段或屬性不需要被映射為XML。如,當一個類的XmlAccessorType 被標注為PROPERTY時,在某一get/set方法的字段上標注此注解,那么該屬性則不會被映射。

@XmlElementWrapper  為數組元素或集合元素定義一個父節點。如,類中有一元素為List items,若不加此注解,該元素將被映射為

    <items>...</items>

    <items>...</items>

這種形式,此注解可將這個元素進行包裝,如:

    @XmlElementWrapper(name="items")     @XmlElement(name="item")     public List items;

將會生成這樣的XML樣式:

    <items>

        <item>...</item>

        <item>...</item>

    </items>

@XmlJavaTypeAdapter  自定義某一字段或屬性映射到XML的適配器。如,類中包含一個接口,我們可以定義一個適配器(繼承自javax.xml.bind.annotation.adapters.XmlAdapter類),指定這個接口如何映射到XML。

@XmlSchema 配置整個包的namespace,這個注解需放在package-info.java文件中。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲一区在线| 日韩av电影手机在线观看| 成人有码视频在线播放| 中文字幕久久精品| 国产一区二区三区中文| 久久网福利资源网站| 亚洲字幕一区二区| 亚洲永久免费观看| 亚洲精品国产综合区久久久久久久| 日韩精品在线私人| 成人中文字幕在线观看| 亚洲精品乱码久久久久久按摩观| 成人羞羞国产免费| 国产欧美中文字幕| 国产一区二区三区网站| 欧美大学生性色视频| 国产精品免费福利| 亚洲精品一区二区三区婷婷月| 亚洲国产精品va| 欧美亚洲在线观看| 国产精品视频最多的网站| 一夜七次郎国产精品亚洲| 亚洲综合社区网| 亚洲国产精品字幕| 中文字幕国产亚洲2019| 国产精品毛片a∨一区二区三区|国| 亚洲一二在线观看| 国产精品96久久久久久| 欧美xxxx做受欧美.88| 国产精品美女av| 91久久精品国产| 热re91久久精品国99热蜜臀| 欧美成年人视频网站欧美| 国产做受69高潮| 亚洲人成电影网站色| 91精品国产综合久久香蕉最新版| 色哟哟亚洲精品一区二区| 久久久伊人日本| 国产亚洲人成网站在线观看| 91精品国产九九九久久久亚洲| 2024亚洲男人天堂| 久久久久久久久久久免费| 久久九九免费视频| 亚洲人成网站色ww在线| 日本一区二区不卡| 中文字幕亚洲无线码a| 久久久久成人精品| 日韩一区在线视频| 久久久999成人| 久久综合伊人77777| 亚洲福利视频在线| 久久久久久久久网站| 成人做爽爽免费视频| 日韩高清av一区二区三区| 国产有码在线一区二区视频| 日本欧美一级片| 日本最新高清不卡中文字幕| 国产精品日韩欧美大师| 欧美在线亚洲一区| 亚洲一区久久久| 亚洲综合第一页| 欧美在线精品免播放器视频| 中文字幕一精品亚洲无线一区| 色综合伊人色综合网| 久久精品国产成人精品| 亚洲国产高清福利视频| 欧美一区二区色| 午夜精品www| www.日韩.com| 69av视频在线播放| 欧美激情亚洲激情| 亚洲亚裔videos黑人hd| 国产精品av电影| 九九热视频这里只有精品| 97视频免费在线观看| 日韩欧美a级成人黄色| 日韩av影视在线| 亚洲丝袜av一区| 亚洲精品乱码久久久久久金桔影视| 欧美肥老太性生活视频| 粉嫩av一区二区三区免费野| 欧美猛交免费看| 怡红院精品视频| 8090理伦午夜在线电影| 国产黑人绿帽在线第一区| 狠狠爱在线视频一区| 欧美午夜宅男影院在线观看| 国产成人91久久精品| 欧洲美女免费图片一区| 伊人精品在线观看| 亚洲高清久久久久久| 国产精品9999| 亚洲japanese制服美女| 欧美在线一级视频| 欧美性xxxxx极品娇小| 欧美成人在线网站| 日韩激情第一页| 另类视频在线观看| 欧美激情亚洲一区| 国产日韩欧美成人| 欧美日韩ab片| 神马久久久久久| 91精品啪在线观看麻豆免费| 欧美日本在线视频中文字字幕| 全球成人中文在线| 色综合亚洲精品激情狠狠| 亚洲国产欧美一区| 中文字幕日韩精品在线| 欧美日韩在线另类| 精品亚洲一区二区三区在线播放| 色哟哟入口国产精品| 欧美日韩国产影院| 精品偷拍一区二区三区在线看| 国产精品久久久久免费a∨大胸| 国产精品福利小视频| 国内精品400部情侣激情| 亚洲剧情一区二区| 亚洲女人天堂视频| 日韩成人中文电影| 亚洲精品一区中文字幕乱码| 久久亚洲精品一区| 国产精品热视频| 日韩在线免费av| 亚洲一品av免费观看| 欧美性猛交xxxx乱大交极品| 91久久久久久久久久| 亚洲男人天堂网站| 日日狠狠久久偷偷四色综合免费| 精品久久中文字幕| 国产91精品黑色丝袜高跟鞋| 国产精品爽爽爽| 成人午夜激情免费视频| 国产一区二区日韩| 国产精品亚洲网站| 中文字幕日韩欧美在线| 欧美国产日韩二区| 欧美最猛性xxxxx免费| 国产精品私拍pans大尺度在线| 国产精品久久久久久亚洲影视| 日韩精品极品在线观看播放免费视频| 国产在线98福利播放视频| 91产国在线观看动作片喷水| 欧美亚州一区二区三区| 日韩精品视频三区| 高清欧美性猛交xxxx| 欧美激情欧美激情| 亚洲精品综合精品自拍| 国产欧美日韩综合精品| 国产成人精品国内自产拍免费看| 欧美一级电影在线| 日本不卡视频在线播放| 欧美在线欧美在线| 日本精品一区二区三区在线播放视频| 久久精品视频99| 国产精品自拍偷拍视频| 亚洲国产成人91精品| 国产在线98福利播放视频| 欧美久久精品午夜青青大伊人| 日韩中文字幕在线观看| 不卡中文字幕av| 久久电影一区二区| 国产午夜精品美女视频明星a级| 这里只有精品视频在线| 伊人伊成久久人综合网站|