Freigeben über


DataContractSerializer.WriteEndObject Methode

Definition

Schreibt das abschließende XML-Element mit dem angegebenen Writer.

Überlädt

WriteEndObject(XmlDictionaryWriter)

Schreibt das abschließende XML-Element mit einem XmlDictionaryWriter.

WriteEndObject(XmlWriter)

Schreibt das abschließende XML-Element mit einem XmlWriter.

WriteEndObject(XmlDictionaryWriter)

Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs

Schreibt das abschließende XML-Element mit einem XmlDictionaryWriter.

public:
 override void WriteEndObject(System::Xml::XmlDictionaryWriter ^ writer);
public override void WriteEndObject (System.Xml.XmlDictionaryWriter writer);
override this.WriteEndObject : System.Xml.XmlDictionaryWriter -> unit
Public Overrides Sub WriteEndObject (writer As XmlDictionaryWriter)

Parameter

writer
XmlDictionaryWriter

Das XmlDictionaryWriter-Objekt, das zum Schreiben des Streams verwendet wird.

Ausnahmen

Der serialisierte Typ entspricht nicht den Datenvertragsregeln. Das DataContractAttribute-Attribut wurde z. B. nicht auf den Typ angewendet.

Es liegt ein Problem mit der Instanz vor, die geschrieben wird.

Beispiele

Im folgenden Beispiel werden ein zu serialisierendes Objekt sowie jeweils eine Instanz der Klassen DataContractSerializer und XmlDictionaryWriter erstellt. In dem Beispiel werden die Methoden WriteStartObject, WriteObjectContent und WriteObjectContent zum Schreiben der Objektdaten in das XML-Dokument verwendet. Diese Aufrufe entsprechen einem einzelnen Aufruf der WriteObject-Methode. Ein Benutzer kann diese Aufrufe beispielsweise separat durchführen, um zusätzliche XML-Attribute in das XML-Dokument einzufügen, nachdem die WriteStartObject-Methode aufgerufen wurde.

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

Gilt für:

WriteEndObject(XmlWriter)

Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs
Quelle:
DataContractSerializer.cs

Schreibt das abschließende XML-Element mit einem XmlWriter.

public:
 override void WriteEndObject(System::Xml::XmlWriter ^ writer);
public override void WriteEndObject (System.Xml.XmlWriter writer);
override this.WriteEndObject : System.Xml.XmlWriter -> unit
Public Overrides Sub WriteEndObject (writer As XmlWriter)

Parameter

writer
XmlWriter

Das XmlWriter-Objekt, das zum Schreiben des Streams verwendet wird.

Ausnahmen

Der serialisierte Typ entspricht nicht den Datenvertragsregeln. Das DataContractAttribute-Attribut wurde z. B. nicht auf den Typ angewendet.

Es liegt ein Problem mit der Instanz vor, die geschrieben wird.

Gilt für: