共用方式為


比較 XmlReader 和 SAX 讀取器

更新: November 2007

和 Simple API for XML (SAX) 讀取器相同,XmlReader 是一種順向、唯讀的資料指標。它提供對輸入的快速、無快取資料流存取。它也可以讀取資料流或文件。它可讓使用者提取資料,並略過與應用程式無關的記錄。最大的不同在於,SAX 模式是一個「推入」模式,在此模式中,剖析器會將事件推入至應用程式,以便在每次讀取新節點時告知應用程式,而使用 XmlReader 的應用程式可以從讀取器中任意提取節點。提取模式的優點如下所示:

優點

說明

狀態管理

推入模式需要內容處理常式來建立非常複雜狀態的機器。提取模式用戶端利用自然、上下程序的精緻化來將狀態管理簡化。

多重輸入資料流

提取模式允許用戶端集中多重輸入資料流。在推入模式中執行這個是非常複雜的。

分層

推入模式可以建立在提取模式之上。反向操作則不行。

避免其他字串複製

一般而言,資料會先從剖析器緩衝區讀取出來,再寫入字串物件,然後推入用戶端的緩衝區。提取模式允許用戶端給予剖析器一個緩衝區,字串可以直接寫入其中。

選擇性處理

推入模式告知用戶端每一個項目,包含屬性、處理指示和泛空白字元,而提取模式用戶端可以略過項目,只處理和應用程式有關的項目。這讓應用程式非常有效率。此外,您可以事先設定相關屬性來影響 XML 資料流的處理方式 (例如正規化)。

請參閱

概念

使用 XmlReader 讀取 XML

其他資源

使用 XmlReader 類別