Compartir a través de


DataContractSerializer.WriteObjectContent Método

Definición

Escribe el contenido XML sin el elemento de ajuste utilizando el sistema de escritura especificado.

Sobrecargas

WriteObjectContent(XmlDictionaryWriter, Object)

Escribe el contenido XML mediante XmlDictionaryWriter.

WriteObjectContent(XmlWriter, Object)

Escribe el contenido XML mediante XmlWriter.

WriteObjectContent(XmlDictionaryWriter, Object)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Escribe el contenido XML mediante 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)

Parámetros

writer
XmlDictionaryWriter

XmlDictionaryWriter que se usa para escribir la secuencia.

graph
Object

El objeto que se va a escribir en la secuencia.

Excepciones

El tipo que se está serializando no se ajusta a las reglas del contrato de datos. Por ejemplo, el atributo DataContractAttribute no se ha aplicado al tipo.

Hay un problema con la instancia que se está escribiendo.

Ejemplos

En el ejemplo siguiente se crea un objeto para serializar, una instancia de DataContractSerializer y una instancia de la clase XmlDictionaryWriter. El ejemplo utiliza los métodos WriteStartObject, WriteObjectContent y WriteObjectContent para escribir los datos de objeto en el documento XML.

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

Se aplica a

WriteObjectContent(XmlWriter, Object)

Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs
Source:
DataContractSerializer.cs

Escribe el contenido XML mediante 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)

Parámetros

writer
XmlWriter

XmlWriter que se usa para escribir la secuencia.

graph
Object

El objeto que se va a escribir en la secuencia.

Excepciones

El tipo que se está serializando no se ajusta a las reglas del contrato de datos. Por ejemplo, el atributo DataContractAttribute no se ha aplicado al tipo.

Hay un problema con la instancia que se está escribiendo.

Se aplica a