<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        使用oxm映射xml的實現步奏

        來源:懂視網 責編:小采 時間:2020-11-27 19:55:31
        文檔

        使用oxm映射xml的實現步奏

        使用oxm映射xml的實現步奏:這次給大家帶來使用oxm映射xml的實現步奏,使用oxm映射xml的注意事項有哪些,下面就是實戰案例,一起來看一下。認識XML解析技術XML相關概念 (1)DTD:XML語法規則,是XML文件的驗證機制,可以通過比較XML文檔和DTD文件看文檔是否符合規范,元素和標簽是否使
        推薦度:
        導讀使用oxm映射xml的實現步奏:這次給大家帶來使用oxm映射xml的實現步奏,使用oxm映射xml的注意事項有哪些,下面就是實戰案例,一起來看一下。認識XML解析技術XML相關概念 (1)DTD:XML語法規則,是XML文件的驗證機制,可以通過比較XML文檔和DTD文件看文檔是否符合規范,元素和標簽是否使

        這次給大家帶來使用oxm映射xml的實現步奏,使用oxm映射xml的注意事項有哪些,下面就是實戰案例,一起來看一下。

        認識XML解析技術

        XML相關概念

        (1)DTD:XML語法規則,是XML文件的驗證機制,可以通過比較XML文檔和DTD文件看文檔是否符合規范,元素和標簽是否使用正確。

        (2)XML是SOA的基礎。

        XML處理技術

        (1)為了使用XML,我們需要通過XML處理器或XMLAPI來訪問數據,目前JAXP提供了2種處理XML的方法:DOM和SAX。

        ①DOM:DOM通過編程方式對XML文檔中數據及結構進行訪問,基于XML文檔在內存中的樹狀結構。其缺點是將整個XML文檔裝入內存需要很大開銷。

        ②SAX:基于事件驅動,用到一段解析一段,解決了DOM占用內存大的問題,但其缺點是無法隨機訪問文檔。

        (2)為了解決DOM和SAX的問題,一種基于流的StreamAPIforXML(簡稱StAX)出現了,目前已加入到JDK6的JAXP1.4里面,StAX也是基于事件驅動。

        (3)DOM、SAX和StAX都是從文檔結構出發處理XML的,但很多應用程序僅僅關注文檔數據本身,所以XML數據綁定技術應運而生。

        數據綁定:是指將數據從存儲媒介(XML文檔和數據庫中)抽取出來,并通過程序表示這些數據的過程,即把數據綁定到虛擬機能夠理解并且可以操作的某種內存結構中。

        XML綁定框架:Castor,JAXB,JiBX,Quick,Zeus等。

        XStream概述

        (1)XStream是一套簡潔易用的開源框架,用于將Java對象序列化為XML,或者將XML反序列化為Java對象。

        (2)XStream架構組成:

        Converters(轉換器):當XStream遇到需要轉換的對象時,它會委派給合適的轉換器實現。

        IO(輸入/輸出):XStream是通過HierarchicalStreamWriter和HierarchicalStreamReader從底層XML數據中抽象而來,分別用于序列化和反序列化操作。

        Context(上下文):XStream序列化反序列化對象時會創建2個類MarshallingContext和UnmarshallingContext,由塔門來處理數據并委派給合適的轉換器。

        Facade(統一入口):將上面的3點集成在一起,以統一的接口開放給用戶使用。

        快速入門

        (1)創建一個XStream,并指定XML解析器

        XStreamxstream=newXStream(newDomDriver());

        如果不指定解析器,XStream會默認采用XPP(XMLPullParser)解析器,XPP是一種高速解析器。

        (2)示例如下:

        使用XStream別名

        (1)在上面的示例中,java對象的全類名對應XML文件的根元素,屬性名對應XML文件的節點元素,但在實際情況中,java對象和XML對象可能都已經定義好了名字,這時就需要使用別名映射。

        XStream有3種別名配置情況:

        類別名:用alias(Stringname,Classtype)。

        類成員別名:用aliasField(Stringalias,ClassdefinedIn,StringfieldName)。

        類成員作為屬性別名:用aliasAttribute(ClassdefinedIn,StringattributeName,Stringalias),單獨命名沒有意義,還要通過useAttributeFor(ClassdefinedIn,StringfieldName)應用到某個類上。

        XStream轉換器

        在開發過程中,有時候需要轉換一些自定義的類型,只要實現Converter接口,并調用XStream的registerConverter()方法注冊轉換器就可以。

        XStream注解

        XStreamxstream=newXStream(newDomDriver());

        加載對象有2種方式:

        ①方式一:

        xstream.processAnnotations(AAA.class);

        xstream.processAnnotations(BBB.class);

        ②方式二:

        xstream.autodetectAnnotations(true);//自動加載注解bean,而且還緩存了標注的對象

        流化對象

        (1)XStream為ObjectInputStream和ObjectOutputStream提供了替代實現,允許以對象流的方式進行XML序列化或反序列化操作。前面是基于DOM的XML解析器讀取的XML,這里我們顯然應該使用流的方式進行解析。

        使用PrettyWriter和CompactWriter的區別就在于PrettyWriter會格式化生成的XML,而CompactWriter會壓縮生成的XML。

        持久化API

        (1)XStream提供了一套簡單的方式,可以將集合中的對象持久化到文件中,如:XmlArrayList、XmlSet、XmlMap等。

        (2)在創建集合之前,還需要指定一個持久化策略PersistenceStrategy。

        處理JSON

        (1)XML在WebService中有不可動搖的地位,但是在大多數web應用中,還是多采用輕量級的JSON作為數據交換格式。

        (2)XStream提供了JettisonMappedXmlDriver和JsonHierarchicalStreamDriver來完成java對象和json的轉換工作。

        (3)JettisonMappedXmlDriver和JsonHierarchicalStreamDriver的區別:

        ①JettisonMappedXmlDriver生成的是壓縮的JSON,而JsonHierarchicalStreamDriver生成的是格式化的JSON。

        ②要想將JSON轉換為對象,只能使用JettisonMappedXmlDriver。

        與SpringOXM整合

        SpringOXM概述

        SpringOXM對主流O/XMapping框架做了一個統一的抽象和封裝,Marshaller和Unmarshaller是SpringOXM兩個核心接口。Marshaller用于將對象轉成XML,Unmarshaller用于將XML轉成對象。

        小結

        (1)java應用程序的XML數據綁定可以歸納為2種方式:

        根據XML文檔生成Java語言代碼(如JAXB、XMLBeans、Castor)。

        使用某種形式的映射綁定方法,也就是設定Java類如何與XML進行關聯(如XStream、Castor、JiBX)。

        (2)2種方式比較:

        使用由Schema或DTD定義的穩定文檔結構,并且該結構適合應用程序的需要,則代碼生成方法可能是最佳選擇。

        如果使用現有的Java類,或者希望使用類的結構,該結構反映應用程序對數據的用法,而不是XML結構,則映射方法是最佳選擇。

        相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

        推薦閱讀:

        Swiper實現移動端廣告圖片輪播

        vue+swiper如何實現側邊欄菜單

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        使用oxm映射xml的實現步奏

        使用oxm映射xml的實現步奏:這次給大家帶來使用oxm映射xml的實現步奏,使用oxm映射xml的注意事項有哪些,下面就是實戰案例,一起來看一下。認識XML解析技術XML相關概念 (1)DTD:XML語法規則,是XML文件的驗證機制,可以通過比較XML文檔和DTD文件看文檔是否符合規范,元素和標簽是否使
        推薦度:
        標簽: 使用 映射 xml
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: www.亚洲色图.com| 日韩精品福利片午夜免费观着 | 免费一看一级毛片人| 亚洲av极品无码专区在线观看| 无码人妻久久一区二区三区免费| 亚洲五月综合缴情在线观看| 国产精品无码免费专区午夜 | 中文字幕亚洲综合久久菠萝蜜 | 美女被暴羞羞免费视频| 日本视频免费在线| 亚洲精华国产精华精华液网站| 免费毛片在线播放| 亚洲AV无码片一区二区三区| 国产乱子伦片免费观看中字| 特级毛片在线大全免费播放| 亚洲一区二区三区偷拍女厕 | 日韩va亚洲va欧洲va国产| 亚洲日韩精品无码专区加勒比| 亚洲电影免费观看| 亚洲六月丁香六月婷婷蜜芽| 久久久久国色AV免费观看性色| 中文字幕在线日亚洲9| 国产成人在线免费观看| 无码免费又爽又高潮喷水的视频 | 免费看污成人午夜网站| 亚洲熟女综合色一区二区三区| 国产男女猛烈无遮挡免费视频网站| 日韩亚洲人成网站| 国产亚洲精品无码成人| 37pao成人国产永久免费视频| 亚洲日韩国产精品乱-久| gogo全球高清大胆亚洲| 久久99精品免费视频| 亚洲综合av一区二区三区 | 99久久精品国产免费| 99久久国产亚洲综合精品| 亚洲国产av一区二区三区| 91精品手机国产免费| 亚洲AV永久无码精品一福利| 亚洲AV无码成人精品区天堂 | 免费观看的毛片手机视频|