>백엔드 개발 >C++ >XML 데이터를 C# 개체로 효과적으로 역직렬화하는 방법은 무엇입니까?

XML 데이터를 C# 개체로 효과적으로 역직렬화하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-15 16:12:44622검색

How to Effectively Deserialize XML Data into C# Objects?

C# XML 역직렬화: 전체 가이드

XML 데이터를 객체로 역직렬화하는 것은 다양한 애플리케이션에서 구조화된 정보에 액세스하고 처리하는 데 중요한 단계입니다. 이 기사에서는 성공적인 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>

사용예

다음 테스트 코드는 역직렬화 프로세스를 보여줍니다.

<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을 사용하여 역직렬화할 수 있습니다.

<code class="language-csharp">using (FileStream fileStream = new FileStream("<你的文件路径>", FileMode.Open))
{
    StepList result = (StepList)serializer.Deserialize(fileStream);
}</code>

이러한 지침을 따르고 제공된 예제를 사용하면 XML 데이터를 효율적으로 역직렬화하고 애플리케이션에서 개체로 처리할 수 있습니다.

위 내용은 XML 데이터를 C# 개체로 효과적으로 역직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.