我使用一些C#生成了一些XML。我需要查看该XML是否针对XSD文件进行验证。有没有办法在C#中做到这一点?如果是这样,我该怎么做?
答案 0 :(得分:19)
看到这个问题:
Xml validation using XSD schema
它表明您在创建XmlReader时需要做的就是设置正确的选项:
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(null, xsdFilePath);
settings.ValidationType = ValidationType.Schema;
settings.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(settings_ValidationEventHandler);
var reader = XmlReader.Create(source, settings);
现在,您将在settings_ValidationEventHandler
中获取有关验证错误的信息,如果需要,文档加载将被中止。