IXmlSerializable.ReadXml(XmlReader) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
XML 표현에서 개체를 생성합니다.
public:
void ReadXml(System::Xml::XmlReader ^ reader);
public void ReadXml(System.Xml.XmlReader reader);
abstract member ReadXml : System.Xml.XmlReader -> unit
Public Sub ReadXml (reader As XmlReader)
매개 변수
예제
다음 예제에서는 메서드의 구현을 보여 줍니다 ReadXml .
public void ReadXml (XmlReader reader)
{
personName = reader.ReadString();
}
다음 예제에서는 클래스를 사용하여 XmlSerializer 이 개체를 역직렬화하는 방법을 보여 줍니다.
using System;
using System.IO;
using System.Xml.Serialization;
public class Reader {
public static void Main() {
XmlSerializer serializer = new XmlSerializer(typeof(Person));
FileStream file = new FileStream("test.xml", FileMode.Open);
Person aPerson = (Person) serializer.Deserialize(file);
Console.WriteLine(aPerson);
}
}
설명
메서드는 ReadXml 메서드에서 작성한 WriteXml 정보를 사용하여 개체를 다시 구성해야 합니다.
이 메서드가 호출되면 판독기는 형식에 대한 정보를 래핑하는 시작 태그에 배치됩니다. 즉, 직렬화된 개체의 시작을 나타내는 시작 태그에 직접 있습니다. 이 메서드가 반환되면 모든 내용을 포함하여 처음부터 끝까지 전체 요소를 읽어야 합니다. 메서드와 WriteXml 달리 프레임워크는 래퍼 요소를 자동으로 처리하지 않습니다. 구현은 그렇게 해야 합니다. 이러한 위치 지정 규칙을 준수하지 않으면 코드가 예기치 않은 런타임 예외 또는 손상된 데이터를 생성할 수 있습니다.
이 메서드를 구현할 때 악의적인 사용자가 애플리케이션의 동작을 사용하지 않도록 설정하거나 변경하기 위해 올바른 형식이지만 잘못된 XML 표현을 제공할 수 있는 가능성을 고려해야 합니다.