DataContractSerializer.WriteEndObject 메서드

정의

지정된 작성기를 사용하여 닫기 XML 요소를 씁니다.

오버로드

WriteEndObject(XmlDictionaryWriter)

XmlDictionaryWriter를 사용하여 닫기 XML 요소를 씁니다.

WriteEndObject(XmlWriter)

XmlWriter를 사용하여 닫기 XML 요소를 씁니다.

WriteEndObject(XmlDictionaryWriter)

XmlDictionaryWriter를 사용하여 닫기 XML 요소를 씁니다.

public:
 override void WriteEndObject(System::Xml::XmlDictionaryWriter ^ writer);
public override void WriteEndObject (System.Xml.XmlDictionaryWriter writer);
override this.WriteEndObject : System.Xml.XmlDictionaryWriter -> unit
Public Overrides Sub WriteEndObject (writer As XmlDictionaryWriter)

매개 변수

writer
XmlDictionaryWriter

스트림을 쓰는 데 사용되는 XmlDictionaryWriter입니다.

예외

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

쓰고 있는 인스턴스에 문제가 있는 경우

예제

다음 예제에서는 serialize할 개체, DataContractSerializer의 인스턴스 및 XmlDictionaryWriter 클래스의 인스턴스를 작성합니다. 이 예제에서는 WriteStartObject, WriteObjectContent, WriteObjectContent 메서드를 사용하여 XML 문서에 개체를 씁니다. 이러한 호출은 메서드를 단일 호출 WriteObject 하는 것과 같습니다. 예를 들어 사용자는 메서드를 호출한 후 XML에 추가 XML 특성을 삽입하기 위해 별도로 호출할 WriteStartObject 수 있습니다.

public static void WriteObjectContentInDocument(string path)
{
    // Create the object to serialize.
    Person p = new Person("Lynn", "Tsoflias", 9876);

    // Create the writer object.
    FileStream fs = new FileStream(path, FileMode.Create);
    XmlDictionaryWriter writer =
        XmlDictionaryWriter.CreateTextWriter(fs);

    DataContractSerializer ser =
        new DataContractSerializer(typeof(Person));

    // Use the writer to start a document.
    writer.WriteStartDocument(true);

    // Use the writer to write the root element.
    writer.WriteStartElement("Company");

    // Use the writer to write an element.
    writer.WriteElementString("Name", "Microsoft");

    // Use the serializer to write the start,
    // content, and end data.
    ser.WriteStartObject(writer, p);
    ser.WriteObjectContent(writer, p);
    ser.WriteEndObject(writer);

    // Use the writer to write the end element and
    // the end of the document.
    writer.WriteEndElement();
    writer.WriteEndDocument();

    // Close and release the writer resources.
    writer.Flush();
    fs.Flush();
    fs.Close();
}
Public Shared Sub WriteObjectContentInDocument(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 DataContractSerializer(GetType(Person))
    
    ' Use the writer to start a document.
    writer.WriteStartDocument(True)
    ' Use the writer to write the root element.
    writer.WriteStartElement("Company")
    ' Use the writer to write an element.
    writer.WriteElementString("Name", "Microsoft")

    ' Use the serializer to write the start,
    ' content, and end data.
    ser.WriteStartObject(writer, p)
    ser.WriteObjectContent(writer, p)
    ser.WriteEndObject(writer)
    
    ' Use the writer to write the end element and
    ' the end of the document.
    writer.WriteEndElement()
    writer.WriteEndDocument()
    
    ' Close and release the writer resources.
    writer.Flush()
    fs.Flush()
    fs.Close()

End Sub

적용 대상

WriteEndObject(XmlWriter)

XmlWriter를 사용하여 닫기 XML 요소를 씁니다.

public:
 override void WriteEndObject(System::Xml::XmlWriter ^ writer);
public override void WriteEndObject (System.Xml.XmlWriter writer);
override this.WriteEndObject : System.Xml.XmlWriter -> unit
Public Overrides Sub WriteEndObject (writer As XmlWriter)

매개 변수

writer
XmlWriter

스트림을 쓰는 데 사용되는 XmlWriter입니다.

예외

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

쓰고 있는 인스턴스에 문제가 있는 경우

적용 대상