XmlDocument验证无效

时间:2013-08-14 10:37:01

标签: c# xsd xmldocument xml-validation

我有一个我在内存中构建的XmlDocument。我有一个存储在我的数据库中的XSD文档。我获得了该XSD文档的流,并尝试验证XmlDocument。但验证永远不会奏效。即使我在XmlDocument中添加了无效节点,它也始终有效。

另外,我在xml文档中指定了TargetNameSpace值,因为它在XSD中。但验证仍然没有发生。

       XmlSchemaSet schemaSet = new XmlSchemaSet();
       schemaSet.Add("http://tempuri.org/test.xsd", XmlReader.Create(stream));
       schemaSet.Compile();

       XmlSchema xmlSchema = null;
       foreach (XmlSchema schema in schemaSet.Schemas())
       {
            xmlSchema = schema;
       }

       //setting targetnamespace as it is there in xsd
       rootElement.SetAttribute("xmlns", xmlSchema.TargetNamespace);

       xmlDoc.Schemas.Add(xmlSchema);
       string error = string.Empty;
       xmlDoc.Validate((sender, e) =>
       {
           switch (e.Severity)
           {
                case XmlSeverityType.Error:
                     error = e.Message;
                break;
                case XmlSeverityType.Warning:
                     LogWarning(e.Message);
                     break;
           }
        });

错误字符串始终为空。我在这里做错了吗?

0 个答案:

没有答案