Ich kann die XML in meinem ASP.net Web-API-Projekt in Post-Anforderung erfolgreich, deserialisierenAsp.net WebAPI XML deserialisieren?
XML:
<Request xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TestAPI.Models">
<Child>
<CountryISO>
<country xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>CA</d4p1:string>
<d4p1:string>US</d4p1:string>
</country>
</CountryISO>
</Child>
</Request>
Modell
namespace TestWebTuiAPI.Models
{
public class Request
{
public Trip Child{ get; set; }
}
public class Child
{
public CountryISO CountryISO { get; set; }
}
public class CountryISO
{
[XmlElement("country")]
public List<string> country { get; set; }
}
}
Nun, ich Sie müssen alle oben genannten Schritte ausführen, damit meine Post-Anfrage in der ASP.Net-Web-API funktioniert. Wenn ich das [XmlElement ("country")] - Attribut aus dem Modell entferne, gibt das CountryISO-Tag im XML-Wert null oder leer zurück.
, was ich will hier erreichen, ist zu deserialisieren dem folgenden XML erfolgreich POST-Anfrage mit,
XML:
<Request>
<Child>
<CountryISO>
<country>CA</country>
<country>US</country>
</CountryISO>
</Child>
</Request>
Wenn ich versuche, diese über XML zu schreiben, ich bin Ich bekomme eine ungültige Anfrage und erhalte ein Nullmodell. Ich muss die Header (Elternknoten und CountryISO-Knoten) in der ersten XML-Datei hinzufügen, damit sie erfolgreich funktioniert. Ich habe verschiedene Lösungen ausprobiert, aber vergeblich.
Jeder Rat wird sehr geschätzt.
EDIT: wenn ich
config.Formatters.XmlFormatter.UseXmlSerializer = true;
Ich habe nicht die Header-Dateien benötigt, aber ich bin immer leere Werte innerhalb des CountryISO-Tag?
@ipszBuffer es funktioniert nicht, ich brauche noch den XML-Header '' und '', damit die Postanforderung funktioniert. –
Binny