IXmlSerializable.WriteXml(XmlWriter) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
개체를 해당 XML 표현으로 변환합니다.
public:
void WriteXml(System::Xml::XmlWriter ^ writer);
public void WriteXml (System.Xml.XmlWriter writer);
abstract member WriteXml : System.Xml.XmlWriter -> unit
Public Sub WriteXml (writer As XmlWriter)
매개 변수
예제
다음 예제에서는 메서드의 구현을 보여 줍니다 WriteXml .
virtual void WriteXml( XmlWriter^ writer )
{
writer->WriteString( personName );
}
public void WriteXml (XmlWriter writer)
{
writer.WriteString(personName);
}
다음 예제에서는 클래스를 사용하여 이 개체를 XmlSerializer 역직렬화하는 방법을 보여 줍니다.
#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 );
}
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);
}
}
설명
제공하는 구현은 WriteXml 개체의 XML 표현을 작성해야 합니다. 프레임워크는 래퍼 요소를 작성하고 시작 후 XML 기록기를 배치합니다. 구현에서 자식 요소를 포함하여 해당 콘텐츠를 작성할 수 있습니다. 그런 다음 프레임워크는 래퍼 요소를 닫습니다.
메서드가 개체를 XmlWriter 재구성할 수 있도록 스트림에 ReadXml 충분한 정보를 씁니다.
예를 들어 개체 상태에 배열 변수가 포함된 경우 배열의 길이를 작성하거나 부모 요소를 사용하여 배열 값을 설명하는 요소를 포함해야 합니다. 따라서 개체가 재구성될 때 읽을 값의 수를 알 수 있습니다.