DataContractSerializer.WriteEndObject Метод

Определение

Записывает закрывающий XML-элемент с помощью указанного модуля записи.

Перегрузки

Имя Описание
WriteEndObject(XmlDictionaryWriter)

Записывает закрывающий XML-элемент с помощью элемента XmlDictionaryWriter.

WriteEndObject(XmlWriter)

Записывает закрывающий XML-элемент с помощью элемента XmlWriter.

WriteEndObject(XmlDictionaryWriter)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

Записывает закрывающий XML-элемент с помощью элемента 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)

Параметры

writer
XmlDictionaryWriter

Используется XmlDictionaryWriter для записи потока.

Атрибуты

Исключения

Сериализованный тип не соответствует правилам контракта данных. Например, DataContractAttribute атрибут не был применен к типу.

Возникла проблема с записью экземпляра.

Примеры

В следующем примере создается объект для сериализации, экземпляра DataContractSerializerкласса и экземпляра XmlDictionaryWriter класса. В примере используются WriteStartObjectWriteObjectContentметоды и WriteObjectContent методы для записи данных объекта в XML-документ. Выполнение этих вызовов эквивалентно одному вызову WriteObject метода. Например, пользователь может выполнять вызовы отдельно, чтобы вставить дополнительные атрибуты XML в XML после вызова WriteStartObject метода.

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

Применяется к

WriteEndObject(XmlWriter)

Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs
Исходный код:
DataContractSerializer.cs

Записывает закрывающий XML-элемент с помощью элемента 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)

Параметры

writer
XmlWriter

Используется XmlWriter для записи потока.

Атрибуты

Исключения

Сериализованный тип не соответствует правилам контракта данных. Например, DataContractAttribute атрибут не был применен к типу.

Возникла проблема с записью экземпляра.

Применяется к