2016-09-07 9 views
-1
public IEnumerable<Word> GetWords() 
{ 
    return db.Words.ToList(); 
} 

Ich brauche diese Ausgabe in XML mit webapi2; Ich habe bereits gegoogelt und versuchtWebapi 2 gibt keine Liste in XML zurück

var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "text/xml"); 
config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType); 

Es gibt Daten nur in JSON zurück.

ich das Paket aktualisiert auch Microsoft.AspNetCore.Mvc.Formatters.Xml

Wie kann ich es in XML zu bekommen?

Vielen Dank im Voraus.

Antwort

0

setzen Sie sowohl den HTTP-Accept- als auch den Content-Type-Header auf "application/xml".

0

Ich habe ein leeres Web-API-Projekt eingerichtet und eine GET-Anfrage mit PostMan ausgegeben. Im Auslieferungszustand hat die Web-API XML wie

<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> 
     <string>value1</string> 
     <string>value2</string> 
</ArrayOfstring> 

für den Standard-Beispiel-Controller zurückgegeben. Der Trick besteht darin, den Accept Header in der Anfrage zu setzen.

Accept: text/xml (or application/xml) 

Beachten Sie, dass die angegebene Zeile

config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType); 

den Medientyp entfernt. So wird die XML-Ausgabe deaktiviert (und nicht aktiviert).

Verwandte Themen