NetDataContractSerializer.WriteObjectContent 方法

定義

使用指定的寫入器寫入 XML 內容。

多載

WriteObjectContent(XmlDictionaryWriter, Object)

使用 XmlDictionaryWriter 寫入 XML 內容。

WriteObjectContent(XmlWriter, Object)

使用 XmlWriter 寫入 XML 內容。

備註

WriteStartObjectWriteObjectContentWriteEndObject 方法可用來以下列模式連續寫入完整的序列化:寫入開始、寫入內容和寫入結束。 WriteObject 方法也會呼叫這三個方法。

WriteObjectContent(XmlDictionaryWriter, Object)

使用 XmlDictionaryWriter 寫入 XML 內容。

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)

參數

writer
XmlDictionaryWriter

用於寫入 XML 內容的 XmlDictionaryWriter

graph
Object

要序列化的物件。 這個根物件的所有子物件都會自動序列化。

例外狀況

正在序列化的型別不符合資料合約規則。 例如,DataContractAttribute 屬性尚未套用至此型別。

正在序列化的執行個體發生問題。

已超過要序列化的物件數目上限。 檢查 MaxItemsInObjectGraph 屬性。

範例

下列範例會建立要序列化的物件、NetDataContractSerializer 的執行個體和 XmlDictionaryWriter 類別的執行個體。 這個範例使用 WriteStartObjectWriteObjectContentWriteEndObject 方法,將物件資料寫入 XML 文件。

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

適用於

WriteObjectContent(XmlWriter, Object)

使用 XmlWriter 寫入 XML 內容。

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)

參數

writer
XmlWriter

用於寫入 XML 內容的 XmlWriter

graph
Object

要序列化的物件。 這個根物件的所有子物件都會自動序列化。

例外狀況

正在序列化的型別不符合資料合約規則。 例如,DataContractAttribute 屬性尚未套用至此型別。

正在序列化的執行個體發生問題。

已超過要序列化的物件數目上限。 檢查 MaxItemsInObjectGraph 屬性。

適用於