XML Deserialisieren funktioniert nur mit namespace in xml

Die am meisten einfache Weise bekomme ich ServiceStack xml-Deserialisierung zu arbeiten, wenn das xml enthält einen namespace. Allerdings, das xml, das ich erhalten nicht die namespaces enthalten. Die meisten einfachen arbeiten Beispiel:

[Serializable]
public class test
{

}

class Program
{
   static void Main(string[] args)
   {
       string xml="<test xmlns=\"http://schemas.datacontract.org/2004/07/\"></test>";
       var result = ServiceStack.Text.XmlSerializer.DeserializeFromString<test>(xml);
   }
}

Aber das ist nicht das, was ich will. Ich möchte folgende Deserialisieren, da der xml die ich von mehreren Diensten:

string xml="<test></test>";

Aber das gibt mir die folgende Fehlermeldung:

DeserializeDataContract: Error converting type: Error in line 1 position 7. 
Expecting element 'test' from namespace 
'http://schemas.datacontract.org/2004/07/'.. 
Encountered 'Element'  with name 'test', namespace ''.

Habe ich versucht:

[Serializable]
[XmlRoot("test", Namespace = "")]
public class test

Ich kann nicht erstellen Sie einen neuen Serializer, weil ServiceStack.Text.XmlSerializer ist statisch. Ich brauche zu wählen, die entweder für Microsoft XmlSerializer ODER ServiceStack (nicht beide). Bedeutung: wenn ich nicht dieses einfache Beispiel funktioniert, muss ich überspringen, sonst sehr nützlichen Teil des ServiceStack-Paket. Das Letzte, was ich will, ist Spritzen einige dummy-namespace in den eingehenden xml-Daten.

InformationsquelleAutor user1154148 | 2012-03-13
Schreibe einen Kommentar