DataContractSerializer.WriteEndObject Metod

Definition

Skriver det avslutande XML-elementet med den angivna skrivaren.

Överlagringar

Name Description
WriteEndObject(XmlDictionaryWriter)

Skriver det avslutande XML-elementet med hjälp av en XmlDictionaryWriter.

WriteEndObject(XmlWriter)

Skriver det avslutande XML-elementet med hjälp av en XmlWriter.

WriteEndObject(XmlDictionaryWriter)

Källa:
DataContractSerializer.cs
Källa:
DataContractSerializer.cs
Källa:
DataContractSerializer.cs
Källa:
DataContractSerializer.cs
Källa:
DataContractSerializer.cs

Skriver det avslutande XML-elementet med hjälp av en XmlDictionaryWriter.

public:
 override void WriteEndObject(System::Xml::XmlDictionaryWriter ^ writer);
public override void WriteEndObject(System.Xml.XmlDictionaryWriter writer);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
public override void WriteEndObject(System.Xml.XmlDictionaryWriter writer);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
public override void WriteEndObject(System.Xml.XmlDictionaryWriter writer);
override this.WriteEndObject : System.Xml.XmlDictionaryWriter -> unit
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")>]
override this.WriteEndObject : System.Xml.XmlDictionaryWriter -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")>]
override this.WriteEndObject : System.Xml.XmlDictionaryWriter -> unit
Public Overrides Sub WriteEndObject (writer As XmlDictionaryWriter)

Parametrar

writer
XmlDictionaryWriter

Den XmlDictionaryWriter som används för att skriva strömmen.

Attribut

Undantag

Den typ som serialiseras överensstämmer inte med reglerna för datakontrakt. Attributet har till exempel DataContractAttribute inte tillämpats på typen.

Det är problem med att instansen skrivs.

Exempel

I följande exempel skapas ett objekt som ska serialiseras, en instans av DataContractSerializeroch en instans av XmlDictionaryWriter klassen. I exemplet används WriteStartObjectmetoderna , WriteObjectContentoch WriteObjectContent för att skriva objektdata till XML-dokumentet. Att göra dessa anrop motsvarar att göra ett enda anrop av WriteObject metoden. En användare kan till exempel göra anropen separat för att infoga ytterligare XML-attribut i XML efter att ha WriteStartObject anropat metoden.

public static void WriteObjectContentInDocument(string path)
{
    // Create the object to serialize.
    Person p = new Person("Lynn", "Tsoflias", 9876);

    // Create the writer object.
    FileStream fs = new FileStream(path, FileMode.Create);
    XmlDictionaryWriter writer =
        XmlDictionaryWriter.CreateTextWriter(fs);

    DataContractSerializer ser =
        new DataContractSerializer(typeof(Person));

    // Use the writer to start a document.
    writer.WriteStartDocument(true);

    // Use the writer to write the root element.
    writer.WriteStartElement("Company");

    // Use the writer to write an element.
    writer.WriteElementString("Name", "Microsoft");

    // Use the serializer to write the start,
    // content, and end data.
    ser.WriteStartObject(writer, p);
    ser.WriteObjectContent(writer, p);
    ser.WriteEndObject(writer);

    // Use the writer to write the end element and
    // the end of the document.
    writer.WriteEndElement();
    writer.WriteEndDocument();

    // Close and release the writer resources.
    writer.Flush();
    fs.Flush();
    fs.Close();
}
Public Shared Sub WriteObjectContentInDocument(ByVal path As String) 
    ' Create the object to serialize.
    Dim p As New Person("Lynn", "Tsoflias", 9876)
    
    ' Create the writer.
    Dim fs As New FileStream(path, FileMode.Create)
    Dim writer As XmlDictionaryWriter = XmlDictionaryWriter.CreateTextWriter(fs)
    
    Dim ser As New DataContractSerializer(GetType(Person))
    
    ' Use the writer to start a document.
    writer.WriteStartDocument(True)
    ' Use the writer to write the root element.
    writer.WriteStartElement("Company")
    ' Use the writer to write an element.
    writer.WriteElementString("Name", "Microsoft")

    ' Use the serializer to write the start,
    ' content, and end data.
    ser.WriteStartObject(writer, p)
    ser.WriteObjectContent(writer, p)
    ser.WriteEndObject(writer)
    
    ' Use the writer to write the end element and
    ' the end of the document.
    writer.WriteEndElement()
    writer.WriteEndDocument()
    
    ' Close and release the writer resources.
    writer.Flush()
    fs.Flush()
    fs.Close()

End Sub

Gäller för

WriteEndObject(XmlWriter)

Källa:
DataContractSerializer.cs
Källa:
DataContractSerializer.cs
Källa:
DataContractSerializer.cs
Källa:
DataContractSerializer.cs
Källa:
DataContractSerializer.cs

Skriver det avslutande XML-elementet med hjälp av en XmlWriter.

public:
 override void WriteEndObject(System::Xml::XmlWriter ^ writer);
public override void WriteEndObject(System.Xml.XmlWriter writer);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
public override void WriteEndObject(System.Xml.XmlWriter writer);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
public override void WriteEndObject(System.Xml.XmlWriter writer);
override this.WriteEndObject : System.Xml.XmlWriter -> unit
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")>]
override this.WriteEndObject : System.Xml.XmlWriter -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")>]
override this.WriteEndObject : System.Xml.XmlWriter -> unit
Public Overrides Sub WriteEndObject (writer As XmlWriter)

Parametrar

writer
XmlWriter

Den XmlWriter som används för att skriva strömmen.

Attribut

Undantag

Den typ som serialiseras överensstämmer inte med reglerna för datakontrakt. Attributet har till exempel DataContractAttribute inte tillämpats på typen.

Det är problem med att instansen skrivs.

Gäller för