Maison > développement back-end > C++ > Comment désérialiser XML en objets C# à l'aide de XmlSerializer ?

Comment désérialiser XML en objets C# à l'aide de XmlSerializer ?

Barbara Streisand
Libérer: 2025-01-15 15:56:47
original
438 Les gens l'ont consulté

How to Deserialize XML into C# Objects Using XmlSerializer?

Désérialiser XML en objet C# à l'aide de XmlSerializer

Cet article explique comment utiliser la classe XmlSerializer pour désérialiser des documents XML en instances d'objet. Supposons que vous ayez un document XML avec la structure suivante :

<steplist><step><name>Name1</name><desc>Desc1</desc></step><step><name>Name2</name><desc>Desc2</desc></step></steplist>
Copier après la connexion

Pour désérialiser ce XML dans le modèle de classe correspondant, vous devez définir la classe suivante :

[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; }
}
Copier après la connexion

Ensuite, vous pouvez utiliser XmlSerializer pour désérialiser. Voici un exemple de code de test :

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);
}
Copier après la connexion

Pour désérialiser le XML d'un fichier texte, chargez le fichier dans FileStream et transmettez-le à XmlSerializer :

using (FileStream fileStream = new FileStream("<文件路径>", FileMode.Open))
{
    StepList result = (StepList)serializer.Deserialize(fileStream);
}
Copier après la connexion

Veuillez remplacer <文件路径> par le chemin réel de votre fichier XML.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal