Aracılığıyla paylaş


NetDataContractSerializer.WriteObjectContent Yöntem

Tanım

Belirtilen yazıcıyı kullanarak XML içeriğini yazar.

Aşırı Yüklemeler

WriteObjectContent(XmlDictionaryWriter, Object)

XML içeriğini kullanarak XmlDictionaryWriteryazar.

WriteObjectContent(XmlWriter, Object)

XML içeriğini kullanarak XmlWriteryazar.

Açıklamalar

WriteStartObject, WriteObjectContentve WriteEndObject yöntemleri, desen kullanılarak tam serileştirmeyi yazmak için sırayla kullanılır: yazma başlangıcı, yazma içeriği ve yazma sonu. Üç yöntem yöntemi tarafından da çağrılır WriteObject .

WriteObjectContent(XmlDictionaryWriter, Object)

XML içeriğini kullanarak XmlDictionaryWriteryazar.

public:
 override void WriteObjectContent(System::Xml::XmlDictionaryWriter ^ writer, System::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)

Parametreler

writer
XmlDictionaryWriter

XmlDictionaryWriter XML içeriğini yazmak için kullanılır.

graph
Object

Serileştirecek nesne. Bu kök nesnenin tüm alt nesneleri otomatik olarak serileştirilir.

Özel durumlar

seri hale getirilen tür, veri sözleşmesi kurallarına uymuyor. Örneğin, DataContractAttribute özniteliği türüne uygulanmadı.

örneğin serileştirilmesiyle ilgili bir sorun var.

serileştirilen nesne sayısı üst sınırı aşıldı. MaxItemsInObjectGraph özelliğini denetleyin.

Örnekler

Aşağıdaki örnek, seri hale getirmek için bir nesnesi, örneğini NetDataContractSerializerve sınıfının bir örneğini XmlDictionaryWriter oluşturur. Örnek, nesne verilerini XML belgesine yazmak için , WriteObjectContentve WriteEndObject yöntemlerini kullanırWriteStartObject.

public sealed class ShowWriteStartObject
{

    public static void WriteObjectData(string path)
    {
        // Create the object to serialize.
        Person p = new Person("Lynn", "Tsoflias", 9876);

        // Create the writer.
        FileStream fs = new FileStream(path, FileMode.Create);
        XmlDictionaryWriter writer =
            XmlDictionaryWriter.CreateTextWriter(fs);

        NetDataContractSerializer ser =
            new NetDataContractSerializer();

        // Use the writer to start a document.
        writer.WriteStartDocument(true);

        // Use the serializer to write the start of the
        // object data. Use it again to write the object
        // data.
        ser.WriteStartObject(writer, p);
        ser.WriteObjectContent(writer, p);

        // Use the serializer to write the end of the
        // object data. Then use the writer to write the end
        // of the document.
        ser.WriteEndObject(writer);
        writer.WriteEndDocument();

        Console.WriteLine("Done");

        // Close and release the writer resources.
        writer.Flush();
        fs.Flush();
        fs.Close();
    }
NotInheritable Public Class ShowWriteStartObject
     
    Public Shared Sub WriteObjectData(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 System.Runtime.Serialization.NetDataContractSerializer()        

        ' Use the writer to start a document.
        writer.WriteStartDocument(True)
        
        ' Use the serializer to write the start of the 
        ' object data. Use it again to write the object
        ' data. 
        ser.WriteStartObject(writer, p)
        writer.WriteStartAttribute("MyAttribute")
        writer.WriteString("My Text")
        writer.WriteEndAttribute()

        ser.WriteObjectContent(writer, p)
                
        ' Use the serializer to write the end of the 
        ' object data. Then use the writer to write the end
        ' of the document.
        ser.WriteEndObject(writer)
        writer.WriteEndDocument()
        
        Console.WriteLine("Done")
        
        ' Close and release the writer resources.
        writer.Flush()
        fs.Flush()
        fs.Close()
    
    End Sub

Şunlara uygulanır

WriteObjectContent(XmlWriter, Object)

XML içeriğini kullanarak XmlWriteryazar.

public:
 override void WriteObjectContent(System::Xml::XmlWriter ^ writer, System::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)

Parametreler

writer
XmlWriter

XmlWriter XML içeriğini yazmak için kullanılır.

graph
Object

Serileştirecek nesne. Bu kök nesnenin tüm alt nesneleri otomatik olarak serileştirilir.

Özel durumlar

seri hale getirilen tür, veri sözleşmesi kurallarına uymuyor. Örneğin, DataContractAttribute özniteliği türüne uygulanmadı.

örneğin serileştirilmesiyle ilgili bir sorun var.

serileştirilen nesne sayısı üst sınırı aşıldı. MaxItemsInObjectGraph özelliğini denetleyin.

Şunlara uygulanır