使用 XmlValidatingReader 进行 XML 验证

XmlValidatingReader 类(XmlReader 类的实现)提供 XML 验证支持。 可以使用 XmlValidatingReader 来验证 XML 文档和 XML 片断。 该类实现万维网联合会 (W3C) 可扩展标记语言 (XML) 1.0 建议中为文档类型定义 (DTD) 所定义的有效性约束,实现 Microsoft XML 核心服务 (MSXML) 架构规范中为 XML 数据缩减 (XDR) 架构所定义的有效性约束,并实现 W3C XML 架构建议中为 XML 架构定义语言 (XSD) 架构所定义的有效性约束。

注意注意

XmlValidatingReader 类在 .NET Framework 2.0 版 中已过期。您可以使用 XmlReaderSettings 类和 Create 方法创建一个验证 XmlReader 实例。有关更多信息,请参见使用 XmlReader 验证 XML 数据

如果以前一直使用 XmlValidatingReader 类来扩展实体,则此功能已添加到 XmlTextReader 类中。

XmlValidatingReader.Schemas 属性为读取器提供对加载到内置 XmlSchemaCollection 中的架构的访问。 因为这些架构被缓存,所以读取器在验证架构时不必每次都重新加载该架构。 使用在内存中缓存的架构显著提高了性能。

XmlValidatingReader.XmlResolver 属性指定用于解析外部实体(例如文档类型定义 (DTD) 和架构位置)的 XmlResolver 对象。 如果您有自定义的 XmlResolver 或者访问需要凭据的网络资源,请使用此属性来指定要使用的 XmlResolver。 如果解析其中未指定 XmlResolver 的外部引用,读取器将使用默认的 XmlUrlResolverXmlUrlResolver 类解析文件和 HTTP 协议。

XmlResolver 还用于处理 XML 架构中的 xs:include 和 xs:import 元素。 如果 xs:include 或 xs:import 元素中包含相对路径,XmlValidatingReader 将使用 XmlValidatingReader.BaseURI 属性解析该相对路径。 有关 XmlResolver 的更多信息,请参见使用 XmlResolver 解析资源

本节内容

相关章节

请参见

其他资源

XML 文档和数据