NetDataContractSerializer.WriteObjectContent 메서드

정의

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

오버로드

Name Description
WriteObjectContent(XmlDictionaryWriter, Object)

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

WriteObjectContent(XmlWriter, Object)

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

설명

, WriteObjectContent및 메서드는 WriteStartObject쓰기 시작, 쓰기 콘텐츠 및 WriteEndObject 쓰기 끝 패턴을 사용하여 전체 serialization을 작성하는 데 연속적으로 사용됩니다. 세 가지 메서드는 메서드에 의해 WriteObject 호출됩니다.

WriteObjectContent(XmlDictionaryWriter, Object)

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

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

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

예외

serialize되는 형식이 데이터 계약 규칙을 준수하지 않습니다. 예를 들어 특성이 DataContractAttribute 형식에 적용되지 않았습니다.

serialize되는 인스턴스에 문제가 있습니다.

serialize할 개체의 최대 수를 초과했습니다. MaxItemsInObjectGraph 속성을 확인합니다.

예제

다음 예제에서는 serialize할 개체, 인스턴스 NetDataContractSerializer및 클래스의 인스턴스를 XmlDictionaryWriter 만듭니다. 이 예제에서는 , WriteObjectContentWriteEndObject 메서드를 사용하여 WriteStartObject개체 데이터를 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)

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

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

XmlWriter XML 콘텐츠를 작성하는 데 사용되는 형식입니다.

graph
Object

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

예외

serialize되는 형식이 데이터 계약 규칙을 준수하지 않습니다. 예를 들어 특성이 DataContractAttribute 형식에 적용되지 않았습니다.

serialize되는 인스턴스에 문제가 있습니다.

serialize할 개체의 최대 수를 초과했습니다. MaxItemsInObjectGraph 속성을 확인합니다.

적용 대상