0

如何在 .NET Core 1.1.2 中针对 XSD 架构验证 XML?我找到了这个ms 文档,但我不能将它与 .NET core 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”的定义,并且找不到接受“XmlReaderSettings”类型的第一个参数的扩展方法“Schemas”(您是否缺少 using 指令或程序集引用?)

我在这里缺少任何 Nuget 包还是 .NET Core 1.1 甚至不支持 xml 验证?

4

1 回答 1

1

它不是。这是 .NET Core 1.1 中的 XmlReaderSettings 类。没有ValidationEventHandlerEvents这是 .NET Core 2.0中存在的同一个类。

于 2018-02-16T23:32:26.977 回答