>백엔드 개발 >C++ >C#에서 XmlSerializer를 사용하여 XML을 개체로 역직렬화하는 방법은 무엇입니까?

C#에서 XmlSerializer를 사용하여 XML을 개체로 역직렬화하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-15 16:06:44486검색

How to Deserialize XML into Objects using XmlSerializer in C#?

C# XmlSerializer를 사용하여 XML을 객체로 역직렬화

이 문서에서는 C#의 XmlSerializer 클래스를 사용하여 XML 데이터를 개체로 역직렬화하는 방법을 소개합니다. 이를 위해서는 XML 구조와 일치하는 C# 클래스를 정의해야 합니다. 단계는 다음과 같습니다.

  1. 일치하는 클래스 구조 만들기:

먼저 XML 루트 요소에 해당하는 클래스를 만듭니다. 예를 들어 XML의 루트 요소가 <StepList>인 경우 StepList이라는 클래스를 만듭니다.

<code class="language-csharp">[XmlRoot("StepList")]
public class StepList
{
    // ...
}</code>
  1. 속성 추가:

다음으로 XML의 각 하위 요소에 대한 클래스에 해당 특성을 추가합니다. 요소 이름을 지정하려면 XmlElement 속성을 ​​사용하세요. 예:

<code class="language-csharp">public class Step
{
    [XmlElement("Name")]
    public string Name { get; set; }

    [XmlElement("Desc")]
    public string Desc { get; set; }
}</code>
  1. XmlSerializer를 사용하여 역직렬화:

마지막으로 XmlSerializer을 사용하여 XML을 객체로 역직렬화합니다.

<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(StepList));
using (TextReader reader = new StringReader(xmlString)) // xmlString 为您的XML字符串
{
    StepList result = (StepList)serializer.Deserialize(reader);
}</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>

위 단계를 통해 XML 데이터를 C# 개체에 쉽게 매핑하여 후속 처리 및 사용을 용이하게 할 수 있습니다.

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

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