共用方式為


XmlReader 上的屬性設定

XmlReader 類別擁有可以在讀取時修改的屬性,以及其他即使在讀取開始後才變更、亦不會因新設定而影響讀取的屬性。如果預設值並不適當,這些屬性需要在初始化讀取之前設定成正確的值。然而,某些屬性可以在讀取啟動之後進行修改。對於無法在呼叫 Read 後加以設定的屬性,讀取器會產生例外狀況。

下列表格會顯示開始讀取之後,哪種屬性可以修改。

類別 屬性 是否可以修改

XmlTextReader

Namespaces

XmlTextReader

WhitespaceHandling

XmlTextReader

Normalization

XmlTextReader

XmlResolver

XmlValidatingReader

Namespaces

XmlValidatingReader

EntityHandling

XmlValidatingReader

XmlResolver

XmlValidatingReader

ValidationType

XmlValidatingReader 會將 XmlResolver 屬性傳播至所屬的 XmlTextReader 類別中。XmlNodeReader 類別沒有可設定的屬性。

正規化與 XmlResolver 設定

Note注意事項

在 Microsoft .NET Framework 2.0 版本 版本中,建議您使用 XmlReaderSettings 類別與 Create 方法來建立 XmlReader 執行個體。如此可讓您充分利用 .NET Framework 2.0 所推出的所有新功能。Create 方法所建立的 XmlReader 物件會依預設執行正規化、加入預設屬性,以及擴充實體。如需詳細資訊,請參閱建立 XML 讀取器

下列表格說明如何設定各種讀取器上的 XmlResolverNormalization 屬性,以完成各種案例。

Normalization 屬性設定為 true 時,會將文字與泛空白字元節點中的行尾字元正常化,同時也會根據其型別將屬性值正常化。

XmlResolver 屬性可用來解析統一資源識別元 (URI) 所命名的外部資源,如外部文件類型定義 (DTD),或用來尋找結構描述。如需以不同讀取器使用 XmlResolver 屬性的詳細資訊,請參閱使用 XmlResolver 解析資源

案例 XmlResolver Normalization 屬性

不需要任何 DTD 或結構描述支援,或完全符合 XML 正規化與預設屬性。

設定為 Null 參考。

設定為 false,並使用 XmlTextReader 類別。

文件需要語式正確,包含外部實體和提供 DTD 的DocTypes。

設定為非 Null 參考。所有外部實體必須可以解析。

在傳遞至 XmlValidatingReader 前,在 XmlTextReader 上設定為 true

文件格式必須正確,且 XML 必須為符合 DTD 的有效格式。

設定為非 Null 參考。所有外部實體必須可以解析。

在傳遞至 XmlValidatingReader 前,在 XmlTextReader 上設定為 true

文件必須語式正確,並且需要結構描述驗證。

設定為非 Null 參考。所有外部實體必須可以解析。

在傳遞至 XmlValidatingReader 前,在 XmlTextReader 上設定為 true

文件從 XmlNode 傳出 XML 資料的資料流時,格式必須正確。

不適用。

不適用。

請參閱

概念

使用 XmlReader 讀取 XML

其他資源

使用 XmlReader 類別