Spring OXM- 漫談XML解析技術(shù)

      網(wǎng)友投稿 792 2025-04-06

      概述


      XML解析技術(shù)漫談

      Spring OXM- 漫談XML解析技術(shù)

      認識XML

      XMl的處理技術(shù)

      概述

      我們先從XML各種解析技術(shù)的發(fā)展歷程談起,并介紹一些主流 O/X Mapping組件的使用方法,比如XStream、Castor、JiBX、JAXB等。

      從獨立使用到與Spring整合逐步演變,揭開各O/X Mapping組件的神秘面紗,根據(jù)需要選擇合適的O/X Mapping組件來處理對象XML之間的轉(zhuǎn)換,為開發(fā)WebService應(yīng)用打下良好的基礎(chǔ)。

      XML解析技術(shù)漫談

      認識XML

      XML(Extensible Makup Language)可擴展標記語言,一組規(guī)則和準則的集合,用來描述結(jié)構(gòu)化數(shù)據(jù)。

      為了驗證XML文檔是否和我們預計的格式保持一致,于是人們就逐步的提出了DTD和XML Schema。

      DTD是一套關(guān)于標記符的語法規(guī)則,是XML1.0規(guī)范的一部分,是XML文件的驗證機制,屬于XML文件組成的一部分。

      XML Schema指定XML Schema定義語言,很大程度上重構(gòu)了XML 1.0DTD的能力,并解決了DTD的許多局限性,比如不支持名稱空間,不支持對聲明的擴展和繼承等等。

      XMl的處理技術(shù)

      為了有效的使用XML,需要通過一個XML處理器或者XML API來訪問其數(shù)據(jù)。

      目前JAXP1.6(JSR 206)的兩種處理XML文檔的方法已經(jīng)得到了廣泛的引用

      DOM (Document Object Model)

      SAX (Simple API for XML)

      DOM文檔對象模型是一種通過編程方式對XML文檔中的乬及結(jié)構(gòu)進行訪問的標準,基于XML文檔再內(nèi)存中的樹狀結(jié)構(gòu), 當一個XML文件被裝入處理器時,內(nèi)存中建立一顆相應(yīng)的樹。

      DOM還定義了用來遍歷一個XML樹及管理各個元素、值和屬性的編程接口。

      DOM的缺點:在將整個XML文檔裝入內(nèi)存所引起的巨大的內(nèi)存開銷,當文件的數(shù)據(jù)量非常大時,這個會帶來很大的性能瓶頸。

      于是人們開始創(chuàng)立一種新的標準,這就是SAX。

      SAX是一種非常簡單的XML API,它允許開發(fā)者使用事件驅(qū)動的XML解析。 與DOM不同的是,SAX并不要求將整個XML文件一起裝入內(nèi)存。 而是一旦XML 處理器完成對XML元素的操作,它就like調(diào)用一個自定義事件處理器及時處理這個元素及相關(guān)數(shù)據(jù)。

      雖然SAX解決了DOM速度慢,內(nèi)存占用大的問題,但是靈活性上受到了很大的限制,比如無法隨機訪問文檔。

      于是又有一種新的基于流的Stream API for XML (簡稱StAX),它不僅提供了XML的處理速度,而且較好的兼顧了靈活性。 StAX是JSR 173標準,目前已經(jīng)加入Java 6.0的JAXP 1.4里面。

      DOM 、SAX、StAX技術(shù)都是從XML的角度來處理文檔和建立模型,這對于只關(guān)注文檔XML結(jié)構(gòu)應(yīng)用程序來說是適用的,但是很多應(yīng)用程序僅僅將XML作為數(shù)據(jù)交換的媒介,更多的關(guān)注的是文檔數(shù)據(jù)本身,為此人們又提出了一種XML數(shù)據(jù)綁定技術(shù),可以忽略XML文檔的實際結(jié)構(gòu),而直接使用文檔的數(shù)據(jù)內(nèi)容,比如Castor、JAXB、JiBX、Qucik和Zeus等。

      Java Spring XML

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應(yīng)法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel2016表格怎么快速填充數(shù)據(jù)?
      下一篇:寫一篇好技術(shù)文章的經(jīng)驗秘籍,全在這兒了
      相關(guān)文章
      亚洲精品日韩中文字幕久久久| www.亚洲成在线| 亚洲一本一道一区二区三区| 亚洲国产亚洲片在线观看播放| 亚洲第一成年男人的天堂| 国产亚洲精品无码成人| 国产成人精品日本亚洲专区61| 亚洲成AⅤ人影院在线观看| 在线精品自拍亚洲第一区| 国产亚洲午夜精品| 国产成人精品亚洲一区| 国产精品亚洲一区二区三区久久 | 亚洲国产二区三区久久| 国产亚洲人成网站观看| 日韩亚洲一区二区三区| 亚洲av无码一区二区三区网站| 亚洲AV无码精品无码麻豆| 亚洲AV无码成人网站久久精品大| 亚洲动漫精品无码av天堂| 亚洲AV无码精品色午夜果冻不卡 | 亚洲成a人在线看天堂无码| 亚洲国产精品专区在线观看 | avtt亚洲天堂| 亚洲熟女乱综合一区二区| 国产亚洲成人在线播放va| 亚洲精品无码永久中文字幕| 亚洲国产精品乱码一区二区 | 在线亚洲v日韩v| 国产性爱在线观看亚洲黄色一级片 | 亚洲精品高清在线| 在线精品亚洲一区二区三区| 亚洲精品无码鲁网中文电影| 亚洲AV无码乱码国产麻豆穿越| 久久亚洲日韩精品一区二区三区| 亚洲精品网站在线观看你懂的| 亚洲一区二区三区在线观看蜜桃 | 亚洲午夜福利在线视频| 国产精品久久久久久亚洲小说| 日韩精品电影一区亚洲| 在线观看亚洲精品国产| 亚洲A∨无码一区二区三区|