Как раскодировать xml

Выдает ошибку:

System.Xml.XmlException: "System does not support 'windows-1251' encoding.

Как раскодировать?

string URLXml = "http://сайт.ru/file.xml";

XmlReaderSettings settings = new XmlReaderSettings();
XmlReader reader = XmlReader.Create(URLXml);

while (reader.Read())
{}

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

Автор решения: sergey kuznetsov
Encoding encoding = Encoding.GetEncoding("windows-1251");
→ Ссылка
Автор решения: Yitzhak Khabinsky

Вы можете попробовать LINQ to XML API.

c#

void Main()
{
    const string Url = @"http://сайт.ru/file.xml";

    XDocument doc = XDocument.Load(Url);
}
→ Ссылка
Автор решения: Alexander Petrov

В отличие от обычного .NET Framework, в котором изначально поддерживается большое количество кодировок, в .NET Core по умолчанию доступны лишь несколько базовых.

Вся информация описана в документации: CodePagesEncodingProvider.

  • Добавьте в проект ссылку на сборку System.Text.Encoding.CodePages.dll.

  • Получите объект CodePagesEncodingProvider из статического свойства CodePagesEncodingProvider.Instance.

  • Передайте объект CodePagesEncodingProvider методу Encoding.RegisterProvider.

Фактически, в код нужно добавить одну строку:

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
→ Ссылка