2010-11-10 5 views
1

Я пытаюсь вернуть строку XML из IHttpHandler к так:Как вернуть XML в поток ответов?

context.Response.Write(xml); 

Когда я получаю ответ в моем .aspx.cs я пытаюсь загрузить документ следующим образом:

var xml = XDocument.Load(xmlString); 

но я получаю сообщение об ошибке Illegal Characters in Path.

Я также попытался

context.Response.Write(context.Server.HtmlEncode(xml)); 

и

var xml = XDocument.Load(Server.HtmlDecode(xmlString)); 

но я получаю такое же сообщение. Есть ли способ вернуть XML из моего IHttpHandler?

+0

Я действительно не понимаю, что вы делаете ... особенно весь «получить ответ в моем .aspx.cs ». Откуда возникает 'xmlString'? Можете ли вы описать поток вашего приложения? – Charlino

ответ

4

заменить это:

var xml = XDocument.Load(xmlString); 

с этим:

var xml = XDocument.Parse(xmlString); 
1

XDocument.Load (String) принимает путь к файлу. Вы хотите использовать одну из перегрузок, которая принимает объект Reader.

1

установки context.Response.ContentType = "application/xml"

Очевидно также убедитесь, что XML хорошо сформированы Try, MSDN есть пример возвращения XML из HTTP Handler.

Попробуйте помещать XML в валидатор (или открыть в браузере), чтобы выделить любые проблемы.

 Смежные вопросы

  • Нет связанных вопросов^_^