Ich versuche, einige XML aus einem Webdienst in C# POCOs zu deserialisieren. Ich habe das funktioniert für die meisten Eigenschaften, die ich brauche, aber ich muss eine bool Eigenschaft basierend darauf, ob ein Element vorhanden ist oder nicht, aber kann nicht zu sehen, wie dies zu tun?Deserialize XML-Elementpräsenz zu bool in C#
Ein Beispiel XML-Schnipsel:
<someThing test="true">
<someThingElse>1</someThingElse>
<target/>
</someThing>
Eine C# Klasse Beispiel:
[Serializable, XmlRoot("someThing")]
public class Something
{
[XmlAttribute("test")]
public bool Test { get; set; }
[XmlElement("someThingElse")]
public int Else { get; set; }
/// <summary>
/// <c>true</c> if target element is present,
/// otherwise, <c>false</c>.
/// </summary>
[XmlElement("target")]
public bool Target { get; set; }
}
Dies ist ein sehr vereinfachtes Beispiel für die tatsächliche XML und Objekthierarchie I Verarbeitung bin, zeigt aber, was ich versuche ich zu erreichen.
Alle anderen Fragen, die ich im Zusammenhang mit Deserialisierung Null/leere Elemente gelesen habe, scheinen die Verwendung von Nullable<T>
, die nicht das tut, was ich brauche.
Hat jemand irgendwelche Ideen?
Danke, hat es übertrieben :) –