NetDataContractSerializer.WriteObjectContent Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- 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.