NetDataContractSerializer.WriteObjectContent 메서드

정의

지정된 작성기를 사용하여 XML 콘텐츠를 씁니다.

오버로드

WriteObjectContent(XmlDictionaryWriter, Object)

XmlDictionaryWriter를 사용하여 XML 콘텐츠를 씁니다.

WriteObjectContent(XmlWriter, Object)

XmlWriter를 사용하여 XML 콘텐츠를 씁니다.

설명

쓰기 시작, 콘텐츠 쓰기 및 쓰기 종료의 패턴으로 전체 serialization을 쓰기 위해 WriteStartObject, WriteObjectContentWriteEndObject 메서드가 연속적으로 사용됩니다. 이 세 가지 메서드는 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

serialize할 개체입니다. 이 루트 개체의 모든 자식 개체는 자동으로 serialize됩니다.

예외

serialize하고 있는 형식이 데이터 계약 규칙을 따르지 않는 경우. DataContractAttribute 특성이 형식에 적용되지 않은 경우를 예로 들 수 있습니다.

serialize하고 있는 인스턴스에 문제가 있는 경우.

serialize할 최대 개체 수가 초과된 경우. MaxItemsInObjectGraph 속성을 확인합니다.

예제

다음 예제에서는 serialize할 개체, 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)

매개 변수

writer
XmlWriter

XML 콘텐츠를 쓰는 데 사용되는 XmlWriter입니다.

graph
Object

serialize할 개체입니다. 이 루트 개체의 모든 자식 개체는 자동으로 serialize됩니다.

예외

serialize하고 있는 형식이 데이터 계약 규칙을 따르지 않는 경우. DataContractAttribute 특성이 형식에 적용되지 않은 경우를 예로 들 수 있습니다.

serialize하고 있는 인스턴스에 문제가 있는 경우.

serialize할 최대 개체 수가 초과된 경우. MaxItemsInObjectGraph 속성을 확인합니다.

적용 대상