Home > Backend Development > C++ > How to Deserialize XML into C# Objects Using XmlSerializer?

How to Deserialize XML into C# Objects Using XmlSerializer?

Barbara Streisand
Release: 2025-01-15 15:56:47
Original
379 people have browsed it

How to Deserialize XML into C# Objects Using XmlSerializer?

Deserialize XML to C# object using XmlSerializer

This article explores how to use the XmlSerializer class to deserialize XML documents into object instances. Suppose you have an XML document with the following structure:

<code class="language-xml"><steplist><step><name>Name1</name><desc>Desc1</desc></step><step><name>Name2</name><desc>Desc2</desc></step></steplist></code>
Copy after login

To deserialize this XML into the corresponding class model, you need to define the following class:

<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>
Copy after login

Next, you can use XmlSerializer to deserialize. Here is a sample test 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>
Copy after login

To deserialize XML from a text file, load the file into FileStream and pass it to XmlSerializer:

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

Please replace <文件路径> with the actual path to your XML file.

The above is the detailed content of How to Deserialize XML into C# Objects Using XmlSerializer?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template