XmlRootAttribute.IsNullable Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger om XmlSerializer måste serialisera en medlem som är inställd null på i attributet xsi:nil inställt på 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
Egenskapsvärde
true
XmlSerializer om genererar xsi:nil attributet, annars . false
Exempel
I följande exempel serialiseras en klass med namnet Group. Exemplet gäller XmlRootAttribute för klassen och anger IsNullable egenskapen till false.
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
Kommentarer
Med XML-schemaspecifikationen för strukturer kan ett XML-dokument uttryckligen signalera att ett elements innehåll saknas. Ett sådant element innehåller attributet xsi:nil inställt på true. Mer information finns i XML-schema del 1: Strukturer andra utgåvan.
Om egenskapen IsNullable är inställd truexsi:nil på genereras attributet enligt följande 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" />
Om egenskapen IsNullable är falseskapas ett tomt element enligt följande kod:
<?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" />