我收到了一个XML文件并想要对其进行多个XSD的验证,直到该文件能够通过验证。当文件能够通过验证时,我将根据所使用的XSD确定XML文件的类型。
List<string> xsdList = new List<string>();
xsdList.Add(_path + @"Handlers\DeviceSpecificHandlers\Schemas\Enquiry.xsd");
xsdList.Add(_path + @"Handlers\DeviceSpecificHandlers\Schemas\FingerDeleted.xsd");
xsdList.Add(_path + @"Handlers\DeviceSpecificHandlers\Schemas\Heartbeat.xsd");
xsdList.Add(_path + @"Handlers\DeviceSpecificHandlers\Schemas\Validation.xsd");
XmlSchemaSet schemas = new XmlSchemaSet();
foreach (string schema in xsdList)
{
var reader = new StringReader(File.ReadAllText(schema));
schemas.Add("", XmlReader.Create(reader));
}
request.Validate(schemas, (o, e) =>
{
match = false;
});
有人能帮忙吗?上面是我目前拼凑出来的代码,目前会抛出一个错误:“System.Xml.Schema.XmlSchemaValidationException:全局元素'interface'已经被声明”
有没有一种方法可以返回模式验证成功的结果?