.NETFramework處理XML操作技巧是怎樣的呢

.NET Framework處理XML操作技巧是怎樣的呢,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

定陶網(wǎng)站建設公司創(chuàng)新互聯(lián)建站,定陶網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為定陶上千余家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設公司要多少錢,請找那個售后服務好的定陶做網(wǎng)站的公司定做!

.NET Framework應用范圍還是比較廣泛的。許多開發(fā)人員都會使用它來創(chuàng)造出一個適合開發(fā)的環(huán)境幫助我們提高開發(fā)效率。在.NET Framework出現(xiàn)之前,習慣使用MSXML服務,一個基于COM的類庫;寫Windows的XML的驅(qū)動程序。不像.NET Framework中的類,MSXML類庫的部分代碼比API更深,它完全的嵌在操作系統(tǒng)的底層。

MSXML的確能夠與你的應用程序通信,但是它不能真正 的與外部環(huán)境結(jié)合。 MSXML類庫能在win32中被導入,也能在CLR中運用,但它只能作為一個外部服務器組件使用。但是基于.NET Framework的應用程序能直接的進行.NET Framework處理XML的其它命名空間整合使用,并且寫出來的代碼易于閱讀。

作為一個獨立的組件,MSXML分析器提供了一些高級的特性如異步分析。這個特性在.NET Framework中的XML類及.NET Framework的其它類都沒有提供,但是,.NET Framework中的XML類與其它的類整合可以很輕易的獲得相同的功能,在這個基礎上你可以增加更多的功能。

.NET Framework處理XML的類提供了基本的分析、查詢、轉(zhuǎn)換XML數(shù)據(jù)的功能。在.NET Framework中,你可以找到支持Xpath查詢和XSLT轉(zhuǎn)換的類,及讀/寫XML文檔的類。另外,.NET Framework也包含了其它處理XML的類,例如對象的序列化(XmlSerializer和the SoapFormatter類),應用程序配置(AppSettingsReader類),數(shù)據(jù)存儲(DataSet類)。

既然XML是一種標記語言,就應該有一種工具按一定的語法來分析和理解存儲在文檔中信息。這個工具就是XML分析器——一個組件用于讀標記文本并返回指定平臺的對象。

分析器的主要功能就是檢查XML文件是否有結(jié)構上的錯誤,剝離XML文件中的標記,讀出正確的內(nèi)容,以交給下一步的應用程序處理。XML是一種用來結(jié)構化 文件信息的標記語言,XML規(guī)范中對于如何標記文件的結(jié)構性有一個詳細的法則,解析器就是根據(jù)這些法則寫出來的軟件(多用Java寫成)。同HTML一 樣,在瀏覽器中,必須有HTML的分析器,這樣瀏覽器才能夠“讀懂”各種用HTML標記所組成的網(wǎng)頁,將它們顯示在我們面前。如果有瀏覽器的HTML解析 器讀不懂的標記,將會返回給我們錯誤信息。

所有的XML分析器,不管它屬于哪個操作平臺,不外乎都分以下的兩類:基于樹或者基于事件的處理器。這兩類通常都是用XMLDOM(the Microsoft XML Document Object Model)和SAX(Simple API for XML)來實現(xiàn)。XMLDOM分析器是一個普通的基于樹的API,它把XML文檔當成一個內(nèi)存結(jié)構樹呈現(xiàn)。SAX分析器是基于事件的API,它處理每 個在XML數(shù)據(jù)流中的元素(它把XML數(shù)據(jù)放進流中再進行處理)。通常,DOM能被一個SAX流載入并執(zhí)行,因此,這兩類的處理不是相互排斥的。

總的來說,SAX分析器與XMLDOM分析器正好相反,它們的分析模式存在著極大的差別。XMLDOM被很好的定義在它的 functionalition集合里面,你不能擴展它。當它在處理一個大型的文檔時,它要占用很大內(nèi)存空間來處理functionalition這個巨 大的集合。

SAX分析器利用客戶端應用程序通過現(xiàn)存的指定平臺的對象的實例去處理分析事件。SAX分析器控制整個處理過程,把數(shù)據(jù)“推出”到處理程序,該處理程序依次接受或拒絕處理數(shù)據(jù)。這種模式的優(yōu)點是只需很少的內(nèi)存空間。

.NET Framework處理XML完全支持XMLDOM模式,但它不支持SAX模式。因為.NET Framework支持兩種不同的分析模式:XMLDOM分析器和XML閱讀器。它顯然不支持SAX分析器,但這并不意味它沒有提供類似SAX分析器的功 能。通過XML閱讀器SAX的所有的功能都能很容易的實現(xiàn)及更有效的運用。不像SAX分析器,.NET Framework的閱讀器整個都運作在客戶端應用程序下面。這樣,應用程序本身就可以只把真正需要的數(shù)據(jù)“推出”,然后從XML數(shù)據(jù)流中跳出來。而 SAX分析模式要處理所有的對應用程序有用和無用的信息。

閱讀器是基于.NET Framework流模式工作的,它的工作方式類似于數(shù)據(jù)庫的游標。有趣的是,實現(xiàn)類似游標分析模式的類提供對.NET Framework中的XMLDOM分析器的底層支持。XmlReader、XmlWriter兩個抽象類是所有.NET Framework中XML類的基礎類,包括XMLDOM類、ADO.NET驅(qū)動類及配置類。所以在.NET Framework中你有兩種可選的方法去處理XML數(shù)據(jù)。用XmlReader和XmlWriter類直接處理XML數(shù)據(jù),或者用XMLDOM模式處理。

XML閱讀器支持一個編程接口,接口用于連接XML文檔,“推出”你要的數(shù)據(jù)。如果你更深入去了解閱讀器,你會發(fā)現(xiàn)閱讀器工作原理類似于我們的桌面 應用程序從數(shù)據(jù)庫中取出數(shù)據(jù)的原理。數(shù)據(jù)庫服務返回一個游標對象,它包含所有查詢結(jié)果集,并返回指向目標數(shù)據(jù)集的開始地址的引用。XML閱讀器的客戶端收 到一個指向閱讀器實例的引用。該實例提取底層的數(shù)據(jù)流并把取出的數(shù)據(jù)呈現(xiàn)為一棵XML樹。閱讀器類提供只讀、向前的游標,你可以用閱讀器類提供的方法滾動 游標遍歷結(jié)果集中的每一條數(shù)據(jù)。 從閱讀器中看XML文檔不是一個標簽文本文件,而是一個序列化的節(jié)點集合。它是.NET Framework中的一種特殊的游標模式;在.NET Framework中,你找不到其它的任何一個類似的API函數(shù)。

閱讀器和XMLDOM分析器有幾點不同的地方。XML閱讀器是只進的,它沒有父、子、祖宗、兄弟節(jié)點的概念,而且是只讀的。在.NET Framework處理XML中,讀寫XML文檔是分為兩種完全不同的功能,分別由XmlReader和XmlWriter類來完成。要編輯XML文檔,你可以用 XMLDOM分析器。

.net framework處理xml主要包System.Xml命名空間當中,而xml序列化則在System.Xml.Serialization 命名空間中,***簡要說一下有關DTD的概念。

DTD(Document Type Definition,文檔類型定義)它是一種規(guī)范,可以使商業(yè)組織間進行無縫的數(shù)據(jù)交換,打個比方,如果兩個同行業(yè)的公司A和B要用XML文件相互交換數(shù)據(jù),A公司用〈價格〉標記來表示他們產(chǎn)品的價格信息,而B公司可能用〈售價〉表示價格信息。如果一 個XML應用程序來讀取他們各自的XML文件中的信息時,如果它只知道〈價格〉標記里表示的是價格信息,那么B公司的價格信息就讀不出來,必將產(chǎn)生錯誤。 顯然,對于想利用XML文件來交換信息的實體來說,他們之間必須有一個約定——即編寫XML文件可以用哪些標記,母元素中能夠包括哪些子元素,各個元素出 現(xiàn)的順序,元素中的屬性怎樣定義等。這么人幫我們就可以輕松地依據(jù)這個DTD 編寫一個應用程序,去網(wǎng)上將我們感興趣的東西自動抓回來。 這就是所謂的DTD,A和B公司在交換數(shù)據(jù)時都必須遵循一種規(guī)范。

現(xiàn)在.NET Framework處理XML的方式中已經(jīng)有了好幾個定義好的DTD,如MathML、SMIL等。MathML‎(Mathematical Markup Language‎)即數(shù)學置標語言是一種基于XML的標準,用來在互聯(lián)網(wǎng)上書寫數(shù)學符號和公式的置標語言。它是由W3C的數(shù)學工作組提出的。由于數(shù)學符號和公式的結(jié)構復雜且符號與符號之間存在多種邏輯關系,MathML的格式十分繁瑣。這個東東太復雜了,我懶得去研究它,隨它吧。SMIL好像念作smile,是用來操縱多媒體片斷(對多媒體片斷的有機的、智能的組合)。 

看來這東西真的不錯!SMIL語言是一套已經(jīng)規(guī)定好的而且非常簡單的標記。它用來規(guī)定多媒體片斷(這里多媒體的包括的范圍有:聲音文件、視頻文件、動畫、圖片、文字等)在什么時候、在什么地方、以什么樣的方式播放。

看完上述內(nèi)容,你們掌握.NET Framework處理XML操作技巧是怎樣的呢的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站名稱:.NETFramework處理XML操作技巧是怎樣的呢
分享地址:http://muchs.cn/article18/jpgpdp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App設計小程序開發(fā)微信小程序、網(wǎng)站維護、定制網(wǎng)站、網(wǎng)站設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設公司