2010-12-12 49 views
1

J'ai une action de contrôleur qui renvoie un document RDF en tant que XML au navigateur. Le navigateur se plaint que le document ne peut pas être affiché:Retour RDF à partir de l'action du contrôleur - ASP.NET MVC

Le préfixe d'espace de noms n'est pas autorisé à démarrer avec la chaîne réservée "xml". Erreur lors du traitement de la ressource

J'essayais d'utiliser l'objet XMLResult de MCVContrib pour écrire le document dans le flux de réponse. Comment puis-je afficher correctement ce document dans le navigateur? Dois-je recourir à l'écriture d'une chaîne simple?

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

Êtes-vous à la recherche d'un moyen de montrer les rapports ActiveReports dans MVC? – Lorenzo

+0

Il indique clairement que l'espace de noms contient le terme 'xml' (http://support.microsoft.com/kb/262585). Il suffit de vérifier votre code source dans la méthode GetContent et de remplacer ce préfixe par quelque chose d'autre. –

+0

Le RDF est correctement formé et affiche comme prévu dans FF. – Nick

Répondre

0

RDF a un type MIME différent remercier tout XML. XMLResult définira le type MIME sur "application/xml" et RDF aura besoin de "application/rdf + xml". Vous devez définir ce manuel ou vous pouvez créer votre propre ActionResult qui le définit.

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

0

Vous avez un xmlnamespace (as 'xmlns:xml="..."') à la racine de votre document retourné.

OU

Vous utilisez un ancien analyseur Microsoft XML (MSXML) égal à Microsoft XML Core Services version 4.0 ou moins. Mettre à jour au last version of MSXML.

Raison: Vous utilisez un/certains des mots-clés XML (MSXML) Microsoft dans vos préfixes d'espace de noms dans le document XML retourné, c.-à-xml,

Par exemple, vous avez un espace de noms comme xmlMyProject dans le document XML retourné . Notez que la capitalisation xml n'a pas d'importance, c'est-à-dire XMLMyProject, XmlMyProject ...