共用方式為


使用結構描述驗證 XML

若要定義 XML 文件的結構以及其項目關聯性 (Relationship)、資料型別和內容條件約束 (Constraint),您可使用文件型別定義 (DTD) 或結構描述 (Schema)。儘管在符合全球資訊網協會 (W3C) Extensible Markup Language (XML) 1.0 Recommendation 定義之所有句法要求的情況下,可將 XML 文件視為完整,但是除非它是完整且又與它的 DTD 或結構描述定義的條件約束相符,否則還是會是將其視為無效。因此,雖然所有有效 XML 文件都是完整的,但完整的 XML 文件卻不一定都有效。

如需 XML 的詳細資訊,請參閱全球資訊網協會 (W3C) 的 Extensible Markup Language (XML) 1.0 (Second Edition) Recommendation,網址是 http://www.w3.org/TR/2000/REC-xml-20001006。如需 XML 結構描述的詳細資訊,請參閱 W3C 的 XML Schema Part 1: Structures Recommendation 和 XML Schema Part 2: Datatypes Recommendation,網址是 http://www.w3.org/TR/。

驗證 XML 文件和 XML 片段是使用 XmlValidatingReader 類別執行的,這個類別藉由實作 W3C 建議事項定義的有效性條件約束,提供 DTD、XML-Data Reduced (XDR) 和 XML 結構描述定義語言 (XSD) 結構描述驗證服務。

XmlValidatingReader 類別實作 XmlReader 類別,以順向方式在 XML 的資料流上執行驗證。XmlValidatingReader 可將 XmlTextReader 當作輸入。The XmlValidatingReader 分層支援 XmlTextReader,因此也支援使用 XmlParserContext 類別剖析 XML 片段的功能。如需剖析 XML 片段的詳細資訊,請參閱使用 XmlValidatingReader 讀取 XML 片段

在提供的 XmlTextReader 上設定的任何屬性也會套用到包含 XmlValidatingReader

下列程式碼範例顯示 XmlValidatingReader 如何分層支援 XmlTextReader

Dim tr as XmlTextReader = new XmlTextReader("Sample1.xml")
Dim vr as XmlValidatingReader = new XmlValidatingReader(tr)
[C#]
XmlTextReader tr = new XmlTextReader("Sample1.xml");
XmlValidatingReader vr = new XmlValidatingReader(tr);

本章節內容

相關章節