Решено: System.Xml.Schema.XmlSchemaException: The element is not declared

Написал асинхронный парсер XML-файлов по URL, но не могу решить эту проблему, всегда вылетает ошибка:

System.Xml.Schema.XmlSchemaException: The element is not declared

Вот код парсера:

class Program
{
    static async Task<string> TestReader(string URL)
    {
        XmlReaderSettings settings = new XmlReaderSettings();
        settings.DtdProcessing = DtdProcessing.Parse;
        settings.ValidationType = ValidationType.DTD;
        string XMLtext = "";
        settings.Async = true;

        using (XmlReader reader = XmlReader.Create(URL, settings))
        {
            while(await reader.ReadAsync())
            {
                switch(reader.NodeType)
                {
                    case XmlNodeType.Element:
                        XMLtext += reader.LocalName;
                        break;
                    case XmlNodeType.Text:
                        XMLtext += reader.GetValueAsync();
                        break;
                }
            }
            return XMLtext;
        }
    }

    static async Task Main(string[] args)
    {
        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
        string result = await TestReader("http://partner.market.yandex.ru/pages/help/YML.xml");
        Console.WriteLine(result);
    }
}

Как быть?


Ответы (1 шт):

Автор решения: Александр II

Решил проблему самостоятельно путём добавления в код следующей строки:

settings.XmlResolver = new XmlUrlResolver();
→ Ссылка