如何使用 XML 架构集合
此示例阐释如何使用由 XmlValidatingReader 使用的 XmlSchemaCollection 类,以有效地进行数据验证。XmlSchemaCollection 类使您可以维护多个 XML 架构定义语言 (XSD) 和 XML 数据简化 (XDR) 架构的缓存,当以后需要架构时可使用该缓存。虽然该类可同时存储 XSD 和 XDR 架构,但只有 XSD 架构可以应用于那些使用或返回 XmlSchema 的方法或属性。
XmlSchemaCollection 中的架构可用于验证 XML 数据。当读取 XML 数据时,可使用 XmlValidatingReader 应用该验证。有关如何使用 XmlValidatingReader 的功能的信息,请参阅如何在读取 XML 时应用验证。
验证是通过文档类型定义 (DTD) 或某个架构对 XML 内容强制应用规则的过程。简单地说,架构是 DTD 的 XML 表示形式,但它也可以推导出 XML 数据和类型信息中的关系。XmlValidatingReader 类在 XmlTextReader 上提供验证支持。
[运行示例] | [查看源代码] |
此示例显示 XmlValidatingReader 如何使用 XmlSchemaCollection 进行有效的数据验证。对于架构集合,该示例添加 XSD 架构 xmlsc.xsd 以用于验证。然后,该示例创建一个 XmlValidatingReader,并将该架构从架构集合中添加到该读取器。最后,该示例使用该读取器读取数据,并设置输出的显示格式。
... XmlValidatingReader reader = null; XmlSchemaCollection xsc = new XmlSchemaCollection(); try { xsc.Add(args[1], new XmlTextReader(args[1])); reader = new XmlValidatingReader(new XmlTextReader(args[0])); reader.Schemas.Add(xsc); reader.ValidationType = ValidationType.Schema; while (reader.Read()) { ... } } |
||
C# | VB |
摘要
- 您可以将 XMLSchemaCollection 用作预加载的架构的缓存。
- 这些预加载的架构只需加载一次,然后可重复使用。这样可获得更高的分析性能。
- XmlSchemaCollection 同时支持 XDR 和 XSD 架构。