C# 从控制器操作返回RDF-ASP.NET MVC

C# 从控制器操作返回RDF-ASP.NET MVC,c#,.net,asp.net-mvc,rdf,mvccontrib,C#,.net,Asp.net Mvc,Rdf,Mvccontrib,我有一个控制器操作,它将RDF文档作为XML返回到浏览器。浏览器抱怨无法显示文档: 命名空间前缀不允许以保留字符串“xml”开头。错误处理资源 我试图使用MCVContrib的XMLResult对象将文档写入响应流。如何在浏览器中正确显示此文档?我必须写一个简单的字符串吗 public ActionResult Content(string id, string version, string localization) { IDocumentRequest reque

我有一个控制器操作,它将RDF文档作为XML返回到浏览器。浏览器抱怨无法显示文档:

命名空间前缀不允许以保留字符串“xml”开头。错误处理资源

我试图使用MCVContrib的XMLResult对象将文档写入响应流。如何在浏览器中正确显示此文档?我必须写一个简单的字符串吗

 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);
    }

RDF的MIME类型与XML不同。XMLResult将MIME类型设置为“application/xml”,RDF需要的是“application/RDF+xml”。您需要设置此手册,或者您可以创建自己的ActionResult来设置它


请参阅:

您在返回文档的根目录下有一个
xml
命名空间(如'xmlns:xml=“…”)

您正在使用一个旧的
Microsoft XML(MSXML)
解析器,该解析器等于
Microsoft XML核心服务版本4.0
或更低版本更新到

原因:您在返回的XML文档的命名空间前缀中使用了一个/部分Microsoft XML(MSXML)关键字,即
XML


例如,在返回的xml文档中有一个类似于
xmlMyProject
的命名空间。请注意,
xml
大小写并不重要,例如,
XMLMyProject
XMLMyProject

您是否正在寻找一种在MVC中显示ActiveReports报告的方法?它清楚地表明名称空间包含“xml”术语()。。只需在GetContent方法中查看源代码,并用其他内容替换该前缀即可。RDF的格式正确,并在FF中按预期显示。