XmlReaderSettings 类的验证选项

XmlReader 类可以使用文档类型定义 (DTD) 或 XML 架构定义语言 (XSD) 架构强制进行验证。 Create 方法使用的 XmlReaderSettings 对象的设置确定 XmlReader 对象支持的数据验证类型(如果有)。

验证设置

下表详细介绍 XmlReaderSettings 类与验证有关的设置。

属性

说明

DtdProcessing

指定是否允许 DTD 处理。 默认设置为不允许 DTD 处理。

ValidationType

指定 XmlReader 是否执行数据验证以及要执行的验证类型(DTD 或架构)。 默认设置为无数据验证。

ValidationEventHandler

指定用于接收验证事件的有关信息的事件处理程序。 如果未提供事件处理程序,在出现第一个验证错误时将引发 XmlException

ValidationFlags

指定其他验证设置。

  • AllowXmlAttributes - 允许在实例文档中使用 XML 属性 (xml:*),即使架构中未定义这些属性。 属性基于其数据类型进行验证。

    默认情况下禁用此设置。

  • ProcessIdentityConstraints - 处理在验证期间遇到的标识约束(xs:ID、xs:IDREF、xs:key、xs:keyref、xs:unique)。

    默认情况下启用此设置。

  • ProcessSchemaLocation - 忽略由 xsi:schemaLocation 或 xsi:noNamespaceSchemaLocation 属性指定的架构。

    默认情况下禁用此设置。

  • ProcessInlineSchema - 指示内联 XML 架构应在验证期间进行处理。

    默认情况下禁用此设置。

  • ReportValidationWarnings - 指示在出现验证警告时应报告事件。 如果没有验证特定元素或属性时所依据的 DTD 或 XML 架构,通常会发出警告。 ValidationEventHandler 用于通知。

    默认情况下禁用此设置,此设置应用于 DTD 或架构验证。

XmlResolver

指定用于解析和访问任何外部资源的 XmlResolver。 可以包括外部实体(例如 DTD 和架构的位置)。 XmlResolver 还用于处理 XML 架构中包含的任何 xs:include 或 xs:import 元素。 如果未指定 XmlResolverXmlReader 将使用没有用户凭据的默认 XmlUrlResolver

请参见

概念

用 XmlReader 读取 XML

其他资源

使用 XmlReader 验证 XML 数据