Получение байтового массива из строки XML с кодировкой - PullRequest
2 голосов
/ 15 февраля 2012

У меня есть содержимое XML в строке, которая определяет его кодировку в объявлении. Я хочу получить байтовый массив из этой строки и загрузить его в браузер клиента.

Следующее работает, но я не настолько разбираюсь в кодировании, и мне интересно, , не заставлю ли я что-то взорвать, если я сделаю это таким образом?

По сути, я получаю кодировку из объявления и использую эту кодировку для преобразования строки XML в байтовый массив. Так должно работать?

var xdoc = XDocument.Parse(xmlString);
var encoding = System.Text.Encoding.GetEncoding(xdoc.Document.Declaration.Encoding);

var encoded = encoding.GetBytes(xmlString);

Response.AppendHeader("Content-Disposition", "attachment; filename=" + xmlData.FileName);
return File(encoded, "text/plain");

1 Ответ

1 голос
/ 15 февраля 2012

Вы должны поместить обработчик исключений вокруг GetEncoding - он будет выдавать, если не распознает имя кодировки. В противном случае вы в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...