使用 XML 架构

若要定义 XML 文档的结构及其元素关系、数据类型和内容约束,请使用文档类型定义(DTD)或 XML 架构定义语言(XSD)架构。 尽管如果 XML 文档符合万维网联盟 (W3C) 可扩展标记语言 (XML) 1.0 建议定义的所有语法要求,则它被视为格式良好且符合其 DTD 或架构定义的约束,否则它不被视为有效。 因此,尽管所有有效的 XML 文档都是格式正确的,但并非所有格式正确的 XML 文档都是有效的。

有关 XML 的详细信息,请参阅 W3C XML 1.0 建议。 有关 XML 架构的详细信息,请参阅 W3C XML 架构第 1 部分:结构建议W3C XML 架构第 2 部分:数据类型建议。

本节中

XML 架构对象模型 (SOM)
讨论命名空间中的 System.Xml.Schema 架构对象模型 (SOM),该模型提供一组类,可用于从文件读取架构定义语言 (XSD) 架构,或者以编程方式创建内存中的架构。

用于架构编译的 XmlSchemaSet
讨论 XmlSchemaSet 类,该类是可以存储和验证 XSD 架构的缓存。

XmlSchemaValidator 基于推送的验证
讨论 XmlSchemaValidator 类,该类提供了一种高效、高性能的机制,通过基于推送的方式针对 XSD 架构验证 XML 数据。

推断 XML 架构
讨论如何使用 XmlSchemaInference 类从 XML 文档的结构推断 XSD 架构。

参考文献

XmlSchemaSet | XmlSchemaInference | XmlReader

在 DOM 中验证 XML 文档
讨论如何在文档对象模型中验证 XML(DOM)。 可以验证 XML 加载到 DOM 中时,或验证 DOM 中以前未验证的 XML 文档。

使用 XPathNavigator 进行架构验证
讨论如何使用 XPathNavigator 类对正在导航和编辑的 XML 进行验证。