C#根据XSD验证XML

use*_*662 9 c# xsd

可能重复:
使用XSD架构进行Xml验证

我使用一些C#生成了一些XML.我需要查看该XML是否针对XSD文件进行验证.有没有办法在C#中做到这一点?如果是这样,我该怎么做?

Sim*_*ele 19

看到这个问题:

使用XSD架构进行Xml验证

它表明您需要做的就是在创建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);
Run Code Online (Sandbox Code Playgroud)

现在,您将获得有关验证错误的信息,settings_ValidationEventHandler如果需要,将中止文档加载.