NetDataContractSerializer.WriteObjectContent 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用指定的寫入者撰寫 XML 內容。
多載
| 名稱 | Description |
|---|---|
| WriteObjectContent(XmlDictionaryWriter, Object) |
使用 XmlDictionaryWriter. 來撰寫 XML 內容。 |
| WriteObjectContent(XmlWriter, Object) |
使用 XmlWriter. 來撰寫 XML 內容。 |
備註
WriteStartObject依序使用、 WriteObjectContent和 WriteEndObject 方法,以以下模式撰寫完整的序列化:write start、write content、write end 。 這三種方法也被稱為 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
它們 XmlDictionaryWriter 用來撰寫 XML 內容。
- graph
- Object
要串連的物件。 此根物件的所有子物件都會自動序列化。
例外狀況
被序列化的類型不符合資料合約規則。 例如, DataContractAttribute 屬性尚未套用到型別。
實例被序列化時存在問題。
可序列化的物件數量已超過。 檢查 MaxItemsInObjectGraph 屬性。
範例
以下範例建立一個要序列化的物件、一個 的實例 NetDataContractSerializer,以及一個類別的 XmlDictionaryWriter 實例。 範例使用 WriteStartObject、 WriteObjectContent和 WriteEndObject 方法將物件資料寫入 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)
參數
- graph
- Object
要串連的物件。 此根物件的所有子物件都會自動序列化。
例外狀況
被序列化的類型不符合資料合約規則。 例如, DataContractAttribute 屬性尚未套用到型別。
實例被序列化時存在問題。
可序列化的物件數量已超過。 檢查 MaxItemsInObjectGraph 屬性。