C# 从控制器操作返回RDF-ASP.NET MVC
我有一个控制器操作,它将RDF文档作为XML返回到浏览器。浏览器抱怨无法显示文档: 命名空间前缀不允许以保留字符串“xml”开头。错误处理资源 我试图使用MCVContrib的XMLResult对象将文档写入响应流。如何在浏览器中正确显示此文档?我必须写一个简单的字符串吗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
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中按预期显示。