如何在.NET Core 1.1.2中验证XML

时间:2018-02-16 22:28:03

标签: .net-core asp.net-core-1.0 coreclr system.xml

如何在.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验证?

1 个答案:

答案 0 :(得分:1)

没有。 Here is the XmlReaderSettings class in .NET Core 1.1ValidationEventHandler下没有EventsHere is the same class in .NET Core 2.0它存在的地方。