如何在.NET Core 1.1.2中针对XSD架构验证XML?我发现这个ms docs但是我不能在.NET核心1.1.2
中使用它using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Xml.Schema;
namespace MyNameSpace
{
public static class XmlValidation
{
public static void Validate(string schema, string xml)
{
XmlReaderSettings schemaSettings = new XmlReaderSettings();
schemaSettings.Schemas.Add(schema);
schemaSettings.ValidationType = ValidationType.Schema;
schemaSettings.ValidationEventHandler += new ValidationEventHandler(ValidationEventHandler);
XmlReader reader = XmlReader.Create(xml, schemaSettings);
while (reader.Read()) { }
}
static void ValidationEventHandler(object sender, ValidationEventArgs e)
{
// do something
}
}
}
我收到错误
无法找到类型或命名空间名称'ValidationEventHandler' 无法找到类型或命名空间名称'ValidationEventArgs' 当前上下文域中不存在名称“ValidationType” 'XmlReaderSettings'不包含'Schemas'的定义 没有扩展方法'Schemas'接受类型的第一个参数 可以找到'XmlReaderSettings'(你是否缺少using指令 或汇编参考?)
我在这里缺少任何Nuget包,或者.NET Core 1.1甚至不支持xml验证?
答案 0 :(得分:1)
没有。 Here is the XmlReaderSettings class in .NET Core 1.1。 ValidationEventHandler
下没有Events
。 Here is the same class in .NET Core 2.0它存在的地方。