Ich habe eine Zeichenfolge, die XML ist, und ich muss es als XML-Dokument zurückgeben. Standardmäßig wird dies mit dem Inhaltstyp text/plain
zurückgegeben. Der Inhalt wird gerendert, aber der Inhaltstyp muss application/xml
sein. Ich habe die Option RespectBrowserAcceptHeader aktiviert, die Objekte als XML serialisiert und den korrekten Inhaltstyp festlegt, außer wenn das Objekt eine Zeichenfolge ist.
Sie könnten return Content(xmlString, "application/xml")
machen, aber das ist wahrscheinlich nicht der beste Weg, es zu tun, es sei denn, sie werden auf diese Weise im Dateisystem oder in der Datenbank gespeichert.
Normalerweise möchten Sie stark typisierte Klassen haben, die Sie von Ihren Aktionen zurückgeben und sie als xml serialisieren lassen.
Sie können Ihren Aktionen auch mitteilen, dass sie den Inhalt basierend auf dem accept-Header zurückgeben (d. h. entweder json oder xml), aber für xml müssen Sie zuerst die xml serializers registrieren.
%Vor%und kommentieren Sie Ihre Aktionen
%Vor% Wenn der Client Accept: application/xml
sendet, gibt er xml zurück und wenn der Client Accept: application/json
sendet, gibt er json zurück.
Wenn Sie eine XML-Zeichenfolge haben und diese als XML-Dokument zurückgeben müssen, geben Sie ContentResult .
%Vor%Controller
%Vor%Startup
%Vor%project.json
%Vor%Antwort
%Vor%Hier ist es auf GitHub für ein gutes Maß. :)
Tags und Links asp.net-web-api xml asp.net-core