Maison >développement back-end >C++ >Comment désérialiser XML en objets C# à l'aide de 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 :
<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 dans le modèle de classe correspondant, vous devez définir 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>
Ensuite, vous pouvez utiliser XmlSerializer
pour désérialiser. Voici un exemple de code de test :
<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>
Pour désérialiser le XML d'un fichier texte, chargez le fichier dans FileStream
et transmettez-le à XmlSerializer
:
<code class="language-csharp">using (FileStream fileStream = new FileStream("<文件路径>", FileMode.Open)) { StepList result = (StepList)serializer.Deserialize(fileStream); }</code>
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!