Freigeben über


DataContractSerializer.WriteObjectContent Methode

Definition

Schreibt den XML-Inhalt ohne das Wrapperelement mit dem angegebenen Writer.

Überlädt

WriteObjectContent(XmlDictionaryWriter, Object)

Schreibt den XML-Inhalt mit einem XmlDictionaryWriter.

WriteObjectContent(XmlWriter, Object)

Schreibt den XML-Inhalt mit einem XmlWriter.

WriteObjectContent(XmlDictionaryWriter, Object)

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

Schreibt den XML-Inhalt mit einem XmlDictionaryWriter.

public:
 override void WriteObjectContent(System::Xml::XmlDictionaryWriter ^ writer, System::Object ^ graph);
public override void WriteObjectContent (System.Xml.XmlDictionaryWriter writer, object graph);
public override void WriteObjectContent (System.Xml.XmlDictionaryWriter writer, object? graph);
override this.WriteObjectContent : System.Xml.XmlDictionaryWriter * obj -> unit
Public Overrides Sub WriteObjectContent (writer As XmlDictionaryWriter, graph As Object)

Parameter

writer
XmlDictionaryWriter

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

graph
Object

Das in den Stream zu schreibende Objekt.

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.

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:

WriteObjectContent(XmlWriter, Object)

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

Schreibt den XML-Inhalt mit einem XmlWriter.

public:
 override void WriteObjectContent(System::Xml::XmlWriter ^ writer, System::Object ^ graph);
public override void WriteObjectContent (System.Xml.XmlWriter writer, object graph);
public override void WriteObjectContent (System.Xml.XmlWriter writer, object? graph);
override this.WriteObjectContent : System.Xml.XmlWriter * obj -> unit
Public Overrides Sub WriteObjectContent (writer As XmlWriter, graph As Object)

Parameter

writer
XmlWriter

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

graph
Object

Das in den Stream zu schreibende Objekt.

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: