XmlSerializer를 사용하여 XML을 C# 개체로 역직렬화
이 기사에서는 XmlSerializer
클래스를 사용하여 XML 문서를 객체 인스턴스로 역직렬화하는 방법을 살펴봅니다. 다음 구조의 XML 문서가 있다고 가정해 보겠습니다.
<code class="language-xml"><steplist><step><name>Name1</name><desc>Desc1</desc></step><step><name>Name2</name><desc>Desc2</desc></step></steplist></code>
이 XML을 해당 클래스 모델로 역직렬화하려면 다음 클래스를 정의해야 합니다.
<code class="language-csharp">[XmlRoot("StepList")] public class StepList { [XmlElement("Step")] public List<Step> Steps { get; set; } } public class Step { [XmlElement("Name")] public string Name { get; set; } [XmlElement("Desc")] public string Desc { get; set; } }</code>
다음으로 XmlSerializer
를 사용하여 역직렬화할 수 있습니다. 샘플 테스트 코드는 다음과 같습니다.
<code class="language-csharp">string testData = @"<steplist><step><name>Name1</name><desc>Desc1</desc></step><step><name>Name2</name><desc>Desc2</desc></step></steplist>"; XmlSerializer serializer = new XmlSerializer(typeof(StepList)); using (TextReader reader = new StringReader(testData)) { StepList result = (StepList)serializer.Deserialize(reader); }</code>
텍스트 파일에서 XML을 역직렬화하려면 파일을 FileStream
에 로드하고 XmlSerializer
에 전달합니다.
<code class="language-csharp">using (FileStream fileStream = new FileStream("<文件路径>", FileMode.Open)) { StepList result = (StepList)serializer.Deserialize(fileStream); }</code>
<文件路径>
을 XML 파일의 실제 경로로 바꾸세요.
위 내용은 XmlSerializer를 사용하여 XML을 C# 개체로 역직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!