Ich möchte eine XML-Nachricht deserialisieren, die ein Element enthält, das mit einer Eigenschaft des Typs int?
als nil="true"
markiert werden kann. Die einzige Möglichkeit, es zum Laufen zu bringen, war, meinen eigenen NullableInt
Typ zu schreiben, der IXmlSerializable
implementiert. Gibt es einen besseren Weg, es zu tun?Kann XmlSerializer in ein Nullable deserialize <int>?
Ich schrieb das vollständige Problem und die Art, wie ich es gelöst on my blog.
Dank Phil, das funktionierte ein Vergnügen. Jetzt muss ich nur den Kerl bekommen, der die Nachrichten liefert, um den Namespace hinzuzufügen ... –
Keine Sorgen SCOA :-P Wenn Sie das XML an der Quelle nicht ändern können (klingt wie Sie können), könnten Sie es durch eine XSLT-Transformation übergeben um den Namespace hinzuzufügen denke ich ... –
Ja JENP, stellt sich heraus, es ist schwierig, es an der Quelle zu tun, da es eine Rails App ist, die das XML mit 'to_xml' erzeugt. Durch das Hinzufügen von xsi: zum type-Attribut wird .NET nach einem Typ namens 'array' gesucht, der nicht existiert. Am Ende wird es einfacher, mit meinem 'NullableInt' Typ zu bleiben. –