Share via

XmlElementAttribute.IsNullable Property


Gets or sets a value that indicates whether the XmlSerializer must serialize a member that is set to null as an empty tag with the xsi:nil attribute set to true.

 property bool IsNullable { bool get(); void set(bool value); };
public bool IsNullable { get; set; }
member this.IsNullable : bool with get, set
Public Property IsNullable As Boolean

Property Value

true if the XmlSerializer generates the xsi:nil attribute; otherwise, false.


The following example shows a field with the XmlElementAttribute applied to it, and the IsNullable property set to false.

public ref class MyClass

   String^ Group;
public class MyClass
   [XmlElement(IsNullable = false)]
   public string Group;
Public Class MyClass1
    <XmlElement(IsNullable := False)> Public Group As String
End Class


The XML schema specification for structures allows an XML document to explicitly signal that an element's content is missing. Such an element contains the attribute xsi:nil set to true. For more information, see the World Wide Web Consortium specification, XML Schema Part 1: Structures.

If the IsNullable property is set to true, the xsi:nil attribute is generated for class members that have been set to null. For example if you set a field named MyStringArray to null, the XmlSerializer generates the following XML code.

<MyStringArray xsi:nil = "true" />  

If the IsNullable property is false, no XML element is generated for class members that have been set to null.


You cannot apply the IsNullable property to a member typed as a value type because a value type cannot contain null. Additionally, you cannot set this property to false for nullable value types. When such types are null, they will be serialized by setting xsi:nil to true.

Applies to