Udostępnij za pośrednictwem


DataContractSerializer.WriteEndObject Metoda

Definicja

Zapisuje zamykający element XML przy użyciu określonego składnika zapisywania.

Przeciążenia

WriteEndObject(XmlDictionaryWriter)

Zapisuje zamykający element XML przy użyciu elementu XmlDictionaryWriter.

WriteEndObject(XmlWriter)

Zapisuje zamykający element XML przy użyciu elementu XmlWriter.

WriteEndObject(XmlDictionaryWriter)

Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs

Zapisuje zamykający element XML przy użyciu elementu 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)

Parametry

writer
XmlDictionaryWriter

Używany XmlDictionaryWriter do zapisywania strumienia.

Wyjątki

Typ serializacji nie jest zgodny z regułami kontraktu danych. Na przykład DataContractAttribute atrybut nie został zastosowany do typu.

Wystąpił problem z zapisywanym wystąpieniem.

Przykłady

Poniższy przykład tworzy obiekt do serializacji, wystąpienia DataContractSerializerklasy i wystąpienia XmlDictionaryWriter klasy . W przykładzie użyto WriteStartObjectmetod , WriteObjectContenti WriteObjectContent do zapisywania danych obiektu w dokumencie XML. Wykonywanie tych wywołań jest równoważne wywołaniu pojedynczego WriteObject wywołania metody. Na przykład użytkownik może wykonać wywołania oddzielnie, aby wstawić dodatkowe atrybuty XML do kodu XML po wywołaniu WriteStartObject metody .

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

Dotyczy

WriteEndObject(XmlWriter)

Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs
Źródło:
DataContractSerializer.cs

Zapisuje zamykający element XML przy użyciu elementu 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)

Parametry

writer
XmlWriter

Używany XmlWriter do zapisywania strumienia.

Wyjątki

Typ serializacji nie jest zgodny z regułami kontraktu danych. Na przykład DataContractAttribute atrybut nie został zastosowany do typu.

Wystąpił problem z zapisywanym wystąpieniem.

Dotyczy