共用方式為


當作結構描述快取區的 XmlSchemaCollection

XmlSchemaCollection 是一快取區 (Cache) 或程式庫,您可在此儲存和驗證 XML-Data Reduced (XDR) 和 XML 結構描述定義語言 (XSD) 結構描述。藉由在記憶體中快取結構描述而不是從檔案或 URL 存取它們,XmlSchemaCollection 能因此提升效能。

注意 雖然 XmlSchemaCollection 類別儲存 XDR 結構描述和 XML 結構描述,但任何使用或傳回 XmlSchema 物件的方法和屬性只支援 XML 結構描述。

將結構描述加入集合

XmlSchemaCollectionAdd 方法會將結構描述載入集合,這時結構描述會和命名空間 URI 建立關聯。對 XML 結構描述來說,命名空間 URI 通常是結構描述的目標命名空間。對 XDR 結構描述來說,命名空間 URI 是當將結構描述加入集合時指定的命名空間。

檢查集合中的結構描述

您可使用 Contains 方法來檢查結構描述是否在集合中。Contains 方法使用 XmlSchema 物件 (限 XML 結構描述) 或表示與結構描述相關的命名空間 URI 的字串 (用於 XML 結構描述和 XDR 結構描述)。

從集合擷取結構描述

您可使用 Item 屬性來從集合擷取結構描述。Item 屬性會使用表示與結構描述相關的命名空間 URI 的字串 (通常是它的目標命名空間),並且傳回 XmlSchema 物件。Item 屬性只適用於 XML 結構描述。對 XDR 結構描述來說,傳回值永遠是 Null 參考,因為它們並沒有可用的物件模型。

使用 XmlSchemaCollection 驗證 XML 文件

您可建立 XmlSchemaCollection 物件,將您的結構描述加入集合中並設定 XmlValidatingReaderSchemas 屬性,來將建立的 XmlSchemaCollection 指派給 XmlValidatingReader,藉此使用 XmlSchemaCollection 來驗證 XML 執行個體文件。

提升效能

如果您針對相同的結構描述驗證多個文件,建議您使用 XmlSchemaCollection,因為它比在記憶體中快取結構描述效能更佳。

下列程式碼範例會建立 XmlSchemaCollection 物件、將結構描述加入集合中並設定 Schemas 屬性。

Dim tr as XmlTextReader = new XmlTextReader("Books.xml")
Dim vr as XmlValidatingReader = new XmlValidatingReader(tr)
Dim xsc as XmlSchemaCollection = new XmlSchemaCollection
xsc.Add("urn:bookstore-schema", "Books.xsd")
vr.Schemas.Add(xsc)
[C#]
XmlTextReader tr = new XmlTextReader("Books.xml");
XmlValidatingReader vr = new XmlValidatingReader(tr);
XmlSchemaCollection xsc = new XmlSchemaCollection();
xsc.Add("urn:bookstore-schema", "Books.xsd");  
vr.Schemas.Add(xsc);

請參閱

使用結構描述驗證 XML | 使用 XmlSchemaCollection 的 XDR 驗證 | 使用 XmlSchemaCollection 的 XML 結構描述 (XSD) 驗證