XmlRootAttribute.IsNullable Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab, der angibt, ob XmlSerializer einen auf null
festgelegten Member in das auf xsi:nil
festgelegte true
-Attribut serialisieren muss, oder legt diesen fest.
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
Eigenschaftswert
true
, wenn XmlSerializer das xsi:nil
-Attribut generiert, andernfalls false
.
Beispiele
Im folgenden Beispiel wird eine Klasse mit dem Namen Group
"." serialisiert. Das Beispiel wendet die XmlRootAttribute Klasse an, und legt die IsNullable Eigenschaft auf 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
Hinweise
Die XML-Schemaspezifikation für Strukturen ermöglicht es einem XML-Dokument explizit zu signalisieren, dass der Inhalt eines Elements fehlt. Dieses Element enthält das Attribut xsi:nil
auf true
. Weitere Informationen finden Sie unter XML Schema Part 1: Structures Second Edition.
Wenn die Eigenschaft auf true
"Festgelegt" festgelegt ist, wird das IsNullable xsi:nil
Attribut wie im folgenden XML dargestellt generiert:
<?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" />
Wenn die IsNullable Eigenschaft lautet false
, wird ein leeres Element wie im folgenden Code dargestellt erstellt:
<?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" />