Ich habe xsd.exe verwendet, um eine Klasse zum Deserialisieren von XML zu generieren. Ich habe Dezimalwert in der Quelle XSD, die nicht erforderlich ist:Nullable-Wert mit xsd.exe generierte Klasse
<xs:attribute name="Balance" type="xs:decimal" use="optional" />
Die resultierende Klasse von XSD generiert den folgenden Code ein:
private decimal balanceField;
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal Balance {
get {
return this.balanceField;
}
set {
this.balanceField = value;
}
}
Was ich beachten nicht NULL sein kann.
Wie stattdessen generieren ich das Feld als NULL-Werte zulassen, wie folgt dargestellt:
private decimal? balanceField;
[System.Xml.Serialization.XmlAttributeAttribute()]
public decimal? Balance {
get {
return this.balanceField;
}
set {
this.balanceField = value;
}
}
Das funktioniert nur für Elemente, nicht für Attribute wie die ursprünglich gestellte Frage. –