国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

使用oxm映射xml的實(shí)現(xiàn)步奏

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 19:55:31
文檔

使用oxm映射xml的實(shí)現(xiàn)步奏

使用oxm映射xml的實(shí)現(xiàn)步奏:這次給大家?guī)硎褂胦xm映射xml的實(shí)現(xiàn)步奏,使用oxm映射xml的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。認(rèn)識(shí)XML解析技術(shù)XML相關(guān)概念 (1)DTD:XML語(yǔ)法規(guī)則,是XML文件的驗(yàn)證機(jī)制,可以通過比較XML文檔和DTD文件看文檔是否符合規(guī)范,元素和標(biāo)簽是否使
推薦度:
導(dǎo)讀使用oxm映射xml的實(shí)現(xiàn)步奏:這次給大家?guī)硎褂胦xm映射xml的實(shí)現(xiàn)步奏,使用oxm映射xml的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。認(rèn)識(shí)XML解析技術(shù)XML相關(guān)概念 (1)DTD:XML語(yǔ)法規(guī)則,是XML文件的驗(yàn)證機(jī)制,可以通過比較XML文檔和DTD文件看文檔是否符合規(guī)范,元素和標(biāo)簽是否使

這次給大家?guī)硎褂胦xm映射xml的實(shí)現(xiàn)步奏,使用oxm映射xml的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。

認(rèn)識(shí)XML解析技術(shù)

XML相關(guān)概念

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

(2)XML是SOA的基礎(chǔ)。

XML處理技術(shù)

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

①DOM:DOM通過編程方式對(duì)XML文檔中數(shù)據(jù)及結(jié)構(gòu)進(jìn)行訪問,基于XML文檔在內(nèi)存中的樹狀結(jié)構(gòu)。其缺點(diǎn)是將整個(gè)XML文檔裝入內(nèi)存需要很大開銷。

②SAX:基于事件驅(qū)動(dòng),用到一段解析一段,解決了DOM占用內(nèi)存大的問題,但其缺點(diǎn)是無法隨機(jī)訪問文檔。

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

(3)DOM、SAX和StAX都是從文檔結(jié)構(gòu)出發(fā)處理XML的,但很多應(yīng)用程序僅僅關(guān)注文檔數(shù)據(jù)本身,所以XML數(shù)據(jù)綁定技術(shù)應(yīng)運(yùn)而生。

數(shù)據(jù)綁定:是指將數(shù)據(jù)從存儲(chǔ)媒介(XML文檔和數(shù)據(jù)庫(kù)中)抽取出來,并通過程序表示這些數(shù)據(jù)的過程,即把數(shù)據(jù)綁定到虛擬機(jī)能夠理解并且可以操作的某種內(nèi)存結(jié)構(gòu)中。

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

XStream概述

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

(2)XStream架構(gòu)組成:

Converters(轉(zhuǎn)換器):當(dāng)XStream遇到需要轉(zhuǎn)換的對(duì)象時(shí),它會(huì)委派給合適的轉(zhuǎn)換器實(shí)現(xiàn)。

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

Context(上下文):XStream序列化反序列化對(duì)象時(shí)會(huì)創(chuàng)建2個(gè)類MarshallingContext和UnmarshallingContext,由塔門來處理數(shù)據(jù)并委派給合適的轉(zhuǎn)換器。

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

快速入門

(1)創(chuàng)建一個(gè)XStream,并指定XML解析器

XStreamxstream=newXStream(newDomDriver());

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

(2)示例如下:

使用XStream別名

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

XStream有3種別名配置情況:

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

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

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

XStream轉(zhuǎn)換器

在開發(fā)過程中,有時(shí)候需要轉(zhuǎn)換一些自定義的類型,只要實(shí)現(xiàn)Converter接口,并調(diào)用XStream的registerConverter()方法注冊(cè)轉(zhuǎn)換器就可以。

XStream注解

XStreamxstream=newXStream(newDomDriver());

加載對(duì)象有2種方式:

①方式一:

xstream.processAnnotations(AAA.class);

xstream.processAnnotations(BBB.class);

②方式二:

xstream.autodetectAnnotations(true);//自動(dòng)加載注解bean,而且還緩存了標(biāo)注的對(duì)象

流化對(duì)象

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

使用PrettyWriter和CompactWriter的區(qū)別就在于PrettyWriter會(huì)格式化生成的XML,而CompactWriter會(huì)壓縮生成的XML。

持久化API

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

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

處理JSON

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

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

(3)JettisonMappedXmlDriver和JsonHierarchicalStreamDriver的區(qū)別:

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

②要想將JSON轉(zhuǎn)換為對(duì)象,只能使用JettisonMappedXmlDriver。

與SpringOXM整合

SpringOXM概述

SpringOXM對(duì)主流O/XMapping框架做了一個(gè)統(tǒng)一的抽象和封裝,Marshaller和Unmarshaller是SpringOXM兩個(gè)核心接口。Marshaller用于將對(duì)象轉(zhuǎn)成XML,Unmarshaller用于將XML轉(zhuǎn)成對(duì)象。

小結(jié)

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

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

使用某種形式的映射綁定方法,也就是設(shè)定Java類如何與XML進(jìn)行關(guān)聯(lián)(如XStream、Castor、JiBX)。

(2)2種方式比較:

使用由Schema或DTD定義的穩(wěn)定文檔結(jié)構(gòu),并且該結(jié)構(gòu)適合應(yīng)用程序的需要,則代碼生成方法可能是最佳選擇。

如果使用現(xiàn)有的Java類,或者希望使用類的結(jié)構(gòu),該結(jié)構(gòu)反映應(yīng)用程序?qū)?shù)據(jù)的用法,而不是XML結(jié)構(gòu),則映射方法是最佳選擇。

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注Gxl網(wǎng)其它相關(guān)文章!

推薦閱讀:

Swiper實(shí)現(xiàn)移動(dòng)端廣告圖片輪播

vue+swiper如何實(shí)現(xiàn)側(cè)邊欄菜單

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

使用oxm映射xml的實(shí)現(xiàn)步奏

使用oxm映射xml的實(shí)現(xiàn)步奏:這次給大家?guī)硎褂胦xm映射xml的實(shí)現(xiàn)步奏,使用oxm映射xml的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。認(rèn)識(shí)XML解析技術(shù)XML相關(guān)概念 (1)DTD:XML語(yǔ)法規(guī)則,是XML文件的驗(yàn)證機(jī)制,可以通過比較XML文檔和DTD文件看文檔是否符合規(guī)范,元素和標(biāo)簽是否使
推薦度:
標(biāo)簽: 使用 映射 xml
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产精品v欧美精品v日本精 | 自拍偷自拍亚洲精品情侣 | 久久99精品久久久久久青青91 | 欧美成人精品高清在线播放 | 国产乱淫a∨片免费视频 | 中文字幕美日韩在线高清 | 91麻豆视频网站 | 亚洲欧美日韩在线一区 | 国产最新网站 | 亚洲一区中文字幕在线 | 国产精品视频一区二区三区w | 国产欧美在线视频免费 | 国产青草 | 国产在线观看一区二区三区 | 国产欧美另类久久精品91 | 日韩欧美精品综合一区二区三区 | 亚洲欧洲高清有无 | 久久精品a亚洲国产v高清不卡 | 欧美日韩精| 日本韩国欧美在线 | 久久精品综合国产二区 | 国产91原创| 领导边摸边吃奶边做爽在线观看 | 国产精品久久久久毛片 | 国产一级特黄全黄毛片 | 国产1区2区 | 国产真实乱人视频在线看 | 欧美国产成人精品一区二区三区 | 欧美性xxxbbb| 久久精品国产一区二区三区日韩 | 精品一区二区三区亚洲 | 日本国产在线观看 | 久操视频免费在线观看 | 亚洲精品毛片久久久久久久 | 国产精品久久久久久久午夜片 | 久久国产精品久久精 | 九九热免费视频 | 成人国产一区二区 | 国产免费高清视频在线观看不卡 | 免费国产高清视频 | 国产一区二区三区免费 |