XML架构使用XML架构集合

如何使用 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 上提供验证支持。

 
VB SchemaCollection.aspx

[运行示例] | [查看源代码]

此示例显示 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  

摘要

  1. 您可以将 XMLSchemaCollection 用作预加载的架构的缓存。
  2. 这些预加载的架构只需加载一次,然后可重复使用。这样可获得更高的分析性能。
  3. XmlSchemaCollection 同时支持 XDR 和 XSD 架构。
原文地址:https://www.cnblogs.com/chorrysky/p/584530.html