2012-02-08 6 views
2

У меня есть пользовательские XML-сериализатор, который может сериализовать типов и подпись метода:Строка кодирования проблема, связанная

string result = CustomXmlSerializer.Serialize(someObject); 

результат сериализации Я хочу, чтобы сделать его доступным в веб-странице что-то вроде:

Response.ClearContent(); 
Response.AddHeader("content-disposition", "attachment; filename=\"somefilename.xml\""); 
Response.BufferOutput = true; 
Response.ContentEncoding = Encoding.UTF8; 
Response.ContentType = "text/xml; encoding=utf-8"; 
string content= CustomXmlSerialize.Serialize(someObject); 
byte[] utf8Bytes = Encoding.UTF8.GetBytes(content); 
Response.OutputStream.Write(utf8Bytes, 0, utf8Bytes.Length);       
Response.End(); 

Однако сгенерированный xml все еще содержит кодировку в виде строки (utf-16)? Как это возможно? Я пишу в HttpResponse массив байтов с кодировкой utf-8?

+1

Возможно, вам нужно добавить xml в свои теги –

+0

сгенерированный файл указан правильно, но у него И он должен habe Elena

ответ

0

Попросите свой CustomXmlSerializer исправить правильный атрибут кодирования в заголовке. Он не может знать, какую кодировку вы используете при преобразовании результата в байты.