XML解析之 MSXML應用總結 概念篇

2021-09-29 20:01:35 字數 1707 閱讀 5695

一、msxml版本說明

目前共有四種msxml版本,分別為msxml3、msxml4、msxml5和msxml6。由於在微軟的windows系統中,msxml主要是用來支援瀏覽器和office的,因此這些版本多與不同瀏覽器版本及office版本相關。微軟推出ie6時帶的是msxml3,因此一般在xp系統上是支援msxml3的,msxml3也成為應用最廣泛的乙個版本。msxml5主要用來支援microsoft office;而msxml4很快就被更新版本的msxml6替代了,微軟推薦首選應用最新的msxml6,其次應用msxml3。

二、xml(xtensible markup language)簡介

要學習msxml首先要了解xml。xml是一種被設計用於網路環境或跨平台環境資料儲存和交換的標記性語言,達到資料儲存分析一致性的目的。xml的結構形式和大家熟悉的html類似,但兩者的用途沒有關聯,最大的區別在於xml用來儲存資料,並允許使用者定義自己的元素。xml內容靈活的可擴充套件性以及簡單易用的結構設計,使它發展非常迅速,目前已是各種應用環境下的程式之間進行資料傳輸和交換的最流行技術,另外在資訊儲存和描述領域,xml也逐漸成為應用標準。

關於xml的術語大家可以去專門的學習**了解,這裡只簡單的說明一下xml的文件結構。先看乙個xml文件示例。

<?xml version='1.0' encoding='gb2312'?>

文字子節點

第1行為xml宣告,定義xml使用的版本和編碼。如果xml中的編碼方式不是utf-8或utf-16,則必須宣告編碼方式,否則有可能解析失敗。關於xml編碼的問題下面會詳細介紹。

第2行是注釋,形式跟html是一樣的。

第3行的root為根元素(文件元素),其他所有元素都包含在該元素的開始和結束標籤之間。xml檔案必須要有乙個根元素,其他元素都出現在根元素內部。

第4行到第10行為根元素的子節點元素,這些元素是可以重名的。乙個元素可以擁有屬性、文字和子元素。如第4行的item元素擁有「type」屬性,item標籤之間的「文字」就是該元素的文字,第8行的item則擁有子元素「subitem」。

第6行的段是乙個特殊的語法,被稱為cdata段。表示其中的字元無需解析,例如一些類似'<'、'/'、'>'的特殊字元,這樣可以防止xml的結構被破壞。

另外需要注意的一些事項:

1、xml的標籤是大小寫敏感的;

2、一些轉義字元在表達非轉義的情形下,應使用實體引用,如將'<'變為'<',將'>'變為'>',將'&'變為'&',將'''變為'&apos',將'"'變為'"';

3、xml中應盡量少使用屬性,而多使用子元素。

三、xml中的編碼

計算機上的字符集問題是乙個讓所有開發者頭疼的問題,由於歷史原因以及具體應用的不同需求,產生了很多種字元編碼集,常見的大概可以分為兩種:單位元組編碼和多位元組編碼,前者代表為ascii,後者代表為unicode。但是除了這兩者之外,還有很多字符集,而且單unicode就提供了3種編碼方法:utf-8,utf-16和utf-32。關於字符集的具體知識,大家可以自己去查閱一些資料。

xml對字元編碼的規定是:如果xml指定編碼格式,則按照指定格式進行處理,當然此時必須保證文件儲存的字元編碼格式與指定的統一,或者解析器能夠處理這種編碼格式,如果出現錯誤,解析器會給出提示資訊。當xml沒有指定編碼格式時,採用預設編碼格式utf-8,如果此時文件編碼格式不是utf-8,那麼解析就會出錯。

七、msxml api版本

基本的概念就這些了,希望對大家了解msxml有所幫助

MSXML 解析 XML 收藏

現在xml文件應用的方面特別的多.我把以前寫過的乙個例子帖出來,以備以後使用.第一部分 dom解析 概述 dom解析將會把乙個完整的xml文件讀進來,生成乙個結構樹。這樣會要把xml文件全部都載入到內在中。所以解析起來的速度會要慢一些。1 如何載入xml檔案 建立dom,載入xml文件 msxml ...

利用MSXML解析XML文字 二

二 實現xml解析的說明 三 xml文件物件 xml dom 模型分析 xml dom物件提供了乙個標準的方法來操作儲存在xml文件中的資訊,dom應用程式設計介面 api 用來作為應用程式和xml文件之間的橋梁。dom可以認為是乙個標準的結構體系用來連線文件和應用程式 也可以是劇本語言 msxml...

MSXML生成以及解析XML檔案

由於最近工作用到xml解析,因此看了一些關於xml的知識,找了很多範例,不過並不是那麼有效或者說可以編譯的通過。因此自己便從乙份從網上拷貝過來的 進行了修改和嘗試,中間出現的問題修改,就有了下面的一篇文章,程式 直接可以拷過去執行 基本不需要什麼修改,如果出現一些問題,看程式開始出的一點關於引入af...