다음을 통해 공유


IXmlSerializable.WriteXml 메서드

개체를 XML 표현으로 변환합니다.

네임스페이스: System.Xml.Serialization
어셈블리: System.Xml(system.xml.dll)

구문

‘선언
Sub WriteXml ( _
    writer As XmlWriter _
)
‘사용 방법
Dim instance As IXmlSerializable
Dim writer As XmlWriter

instance.WriteXml(writer)
void WriteXml (
    XmlWriter writer
)
void WriteXml (
    XmlWriter^ writer
)
void WriteXml (
    XmlWriter writer
)
function WriteXml (
    writer : XmlWriter
)

매개 변수

  • writer
    개체가 serialize되는 XmlWriter 스트림입니다.

설명

제공하는 WriteXml 구현에서 개체의 XML 표현을 써야 합니다. 프레임워크에서 래퍼 요소를 쓰고 XML 작성기를 래퍼 요소의 시작 다음에 배치합니다. 구현에서 자식 요소를 비롯한 래퍼 요소 콘텐츠를 쓸 수 있습니다. 그런 다음 프레임워크에서 래퍼 요소를 닫습니다.

ReadXml 메서드가 개체를 다시 구성할 수 있도록 XmlWriter 스트림에 충분한 정보를 써야 합니다.

예를 들어, 개체 상태에 배열 변수가 포함되어 있는 경우 개체가 재구성될 때 읽을 값의 개수를 확인할 수 있도록 배열의 길이를 쓰거나 배열 값을 설명하는 요소를 포함하는 부모 요소를 사용합니다.

예제

다음 예제에서는 WriteXml 메서드의 구현 방법을 보여 줍니다.

public void WriteXml (XmlWriter writer)
{
    writer.WriteString(personName);
}
virtual void WriteXml( XmlWriter^ writer )
{
   writer->WriteString( personName );
}
public void WriteXml(XmlWriter writer)
{
    writer.WriteString(personName);
} //WriteXml

다음 예제에서는 XmlSerializer 클래스를 사용하여 이 개체를 deserialize하는 방법을 보여 줍니다.

using System;
using System.Xml;
using System.Xml.Serialization;

public class Writer {

  public static void Main() {

    // Create a person object.
    Person fred = new Person("Fred Flintstone");

    // Serialize the object to a file.
    XmlTextWriter writer = new XmlTextWriter("test.xml", null);
    XmlSerializer serializer = new XmlSerializer(typeof(Person));
    serializer.Serialize(writer, fred);
  }

}
#using <System.Xml.dll>
#using <System.dll>
#using <Person.dll>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Serialization;

int main()
{
   // Create a person object.
   Person ^ fred = gcnew Person( "Fred Flintstone" );

   // Serialize the object to a file.
   XmlTextWriter^ writer = gcnew XmlTextWriter( "test.xml", nullptr );
   XmlSerializer^ serializer = gcnew XmlSerializer( Person::typeid );
   serializer->Serialize( writer, fred );
}
import System.*;
import System.Xml.*;
import System.Xml.Serialization.*;
import System.Xml.Schema.*;

public class Writer
{
    public static void main(String[] args)
    {
        // Create a person object.
        Person fred = new Person("Fred Flintstone");
        // Serialize the object to a file.
        XmlTextWriter writer = new XmlTextWriter("test.xml", null);
        XmlSerializer serializer = new XmlSerializer(Person.class.ToType());
        serializer.Serialize(writer, fred);
    } //main
} //Writer 

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

IXmlSerializable 인터페이스
IXmlSerializable 멤버
System.Xml.Serialization 네임스페이스