2010-12-12 3 views
1

У меня есть действие контроллера, которое возвращает документ RDF как XML в браузер. Браузер жалуется, что документ не может быть отображен:Возвращение RDF из действия контроллера - ASP.NET MVC

Префикс пространства имен не может начинаться с зарезервированной строки «xml». Ресурс обработки ошибок

Я пытался использовать объект XMLResult MCVContrib для записи документа в поток ответов. Как я могу правильно отобразить этот документ в браузере? Должен ли я прибегать к написанию простой строки?

public ActionResult Content(string id, string version, string localization) 
    { 
     IDocumentRequest request = new ResourceRequest() 
             { 
              Id = id, 
              Localization = Localization.GetByName(localization), 
              Version = version 
             }; 

     XmlDocument doc = _kbModel.GetContent(request); 

     return new XmlResult(doc); 
    } 
+0

Вы ищете способ отображения отчетов ActiveReports в MVC? – Lorenzo

+0

В нем четко указано, что пространство имен содержит термин «xml» (http://support.microsoft.com/kb/262585). Просто просмотрите исходный код в методе GetContent и замените этот префикс на что-то еще. –

+0

RDF правильно сформирован и отображается как ожидается в FF. – Nick

ответ

0

RDF имеет другой тип MIME, благодаря чему только XML. XMLResult установит тип MIME в «application/xml», а RDF - «application/rdf + xml». Вам необходимо установить это руководство или создать собственный ActionResult, который его устанавливает.

SEE: http://www.w3.org/TR/rdf-syntax-grammar/#section-MIME-Type

0

У вас есть xmlnamespace (as 'xmlns:xml="..."') в корне вашего возвращенного документа.

ИЛИ

Вы используете старый Microsoft XML (MSXML) анализатор, равный Microsoft XML Core Services version 4.0 или ниже. Обновление до last version of MSXML.

Причина: Вы используете один/некоторые из Microsoft XML (MSXML) ключевые слова в префиксов в возвращаемом документе XML, т.е. xml,

Например у вас есть пространство имен, как xmlMyProject в возвращенного XML-документа , Обратите внимание, что капитализация xml не имеет значения, то есть XMLMyProject, XmlMyProject ...