中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2022-01-11 10:03:42 來源:億速云 閱讀:110 作者:柒染 欄目:編程語言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

看完上述內容,你們掌握.NET Framework處理XML操作技巧是怎樣的呢的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

xml
AI

沿河| 北川| 区。| 榆林市| 米易县| 周至县| 莫力| 崇左市| 华宁县| 抚州市| 全南县| 汾西县| 高平市| 廉江市| 祥云县| 红河县| 射洪县| 伊川县| 栾城县| 舟山市| 承德县| 靖宇县| 栾川县| 桂阳县| 桂林市| 沧源| 通渭县| 屯留县| 巴林左旗| 临邑县| 南安市| 六安市| 金湖县| 澜沧| 新邵县| 浦江县| 淮北市| 淄博市| 盐城市| 盐池县| 雷州市|