XmlRootAttribute.IsNullable Vlastnost

Definice

Získává nebo nastavuje hodnotu, která indikuje, jestli XmlSerializer musí serializovat člen, který je nastavený na null xsi:nil atribut nastavený na true .Gets or sets a value that indicates whether the XmlSerializer must serialize a member that is set to null into the xsi:nil attribute set to true.

public:
 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

Hodnota vlastnosti

Boolean

true Pokud XmlSerializer atribut vygeneruje, v xsi:nil opačném případě false .true if the XmlSerializer generates the xsi:nil attribute; otherwise, false.

Příklady

Následující příklad serializace třídy s názvem Group .The following example serializes a class named Group. Příklad se vztahuje na XmlRootAttribute třídu a nastaví IsNullable vlastnost na hodnotu false .The example applies the XmlRootAttribute to the class, and sets the IsNullable property to false.

#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;
using namespace System::Xml;

// Apply the XmlRootAttribute and set the IsNullable property to false.

[XmlRoot(IsNullable=false)]
public ref class Group
{
public:
   String^ Name;
};

void SerializeObject( String^ filename )
{
   XmlSerializer^ s = gcnew XmlSerializer( Group::typeid );

   // Writing the file requires a TextWriter.
   TextWriter^ writer = gcnew StreamWriter( filename );

   // Create the object to serialize.
   Group^ mygroup = nullptr;

   // Serialize the object, and close the TextWriter.
   s->Serialize( writer, mygroup );
   writer->Close();
}

int main()
{
   Console::WriteLine( "Running" );
   SerializeObject( "NullDoc.xml" );
}
using System;
using System.IO;
using System.Xml.Serialization;
using System.Xml;

// Apply the XmlRootAttribute and set the IsNullable property to false.
[XmlRoot(IsNullable = false)]
public class Group
{
   public string Name;
}

public class Run
{
   public static void Main()
   {
   Console.WriteLine("Running");
      Run test = new Run();
      test.SerializeObject("NullDoc.xml");
   }

   public void SerializeObject(string filename)
   {
      XmlSerializer s = new XmlSerializer(typeof(Group));

      // Writing the file requires a TextWriter.
      TextWriter writer = new StreamWriter(filename);

      // Create the object to serialize.
      Group mygroup = null;

      // Serialize the object, and close the TextWriter.
      s.Serialize(writer, mygroup);
      writer.Close();
   }
}

Imports System.IO
Imports System.Xml.Serialization
Imports System.Xml


' Apply the XmlRootAttribute and set the IsNullable property to false.
<XmlRoot(IsNullable := False)> _
Public Class Group
    Public Name As String
End Class


Public Class Run
    
    Public Shared Sub Main()
        Console.WriteLine("Running")
        Dim test As New Run()
        test.SerializeObject("NullDoc.xml")
    End Sub     
    
    Public Sub SerializeObject(ByVal filename As String)
        Dim s As New XmlSerializer(GetType(Group))
        
        ' Writing the file requires a TextWriter.
        Dim writer As New StreamWriter(filename)
        
        ' Create the object to serialize.
        Dim mygroup As Group = Nothing
        
        ' Serialize the object, and close the TextWriter.
        s.Serialize(writer, mygroup)
        writer.Close()
    End Sub
End Class

Poznámky

Specifikace schématu XML pro struktury umožňuje dokumentu XML explicitně signalizovat, že obsah elementu chybí.The XML schema specification for structures allows an XML document to explicitly signal that an element's content is missing. Takový element obsahuje atribut xsi:nil nastavený na true .Such an element contains the attribute xsi:nil set to true. Další informace najdete v části schéma XML část 1: struktury druhé edice.For more information, see XML Schema Part 1: Structures Second Edition.

Pokud IsNullable je vlastnost nastavena na true , xsi:nil je vygenerován atribut, jak je znázorněno v následujícím kódu XML:If the IsNullable property is set to true, the xsi:nil attribute is generated as shown in the following XML:

<?xml version="1.0" encoding="utf-8"?>  
<Group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:nil="true" />  

Pokud IsNullable je vlastnost false , je vytvořen prázdný prvek, jak je znázorněno v následujícím kódu:If the IsNullable property is false, an empty element is created as shown in the following code:

<?xml version="1.0" encoding="utf-8"?>  
<Group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
xmlns:xsd="http://www.w3.org/2001/XMLSchema" />  

Platí pro