Возврат RDF из действия контроллера - ASP.NET MVC

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

Префикс пространства имен не может начинаться с зарезервированной строки "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);
    }

2 ответа

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

СМ. http://www.w3.org/TR/rdf-syntax-grammar/

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

ИЛИ ЖЕ

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

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

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

Другие вопросы по тегам