Maison >développement back-end >C++ >Comment désérialiser efficacement des données XML en objets C# ?

Comment désérialiser efficacement des données XML en objets C# ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-15 16:12:44621parcourir

How to Effectively Deserialize XML Data into C# Objects?

Désérialisation XML C# : un guide complet

La désérialisation des données XML en objets est une étape critique dans l'accès et le traitement des informations structurées dans diverses applications. Cet article explique comment créer des classes pour une désérialisation XML réussie.

Créer des classes pour la désérialisation

Considérons l'exemple XML suivant :

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

Pour désérialiser ce XML, définissez la classe suivante :

<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>

Exemple d'utilisation

Le code de test suivant illustre le processus de désérialisation :

<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>

Charger à partir d'un fichier

Si les données XML sont stockées dans un fichier, elles peuvent être désérialisées à l'aide de FileStream :

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

En suivant ces directives et en utilisant les exemples fournis, vous pouvez désérialiser efficacement les données XML et les traiter en tant qu'objets dans votre application.

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:
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