Maison > développement back-end > C++ > XmlSerializer peut-il désérialiser des données XML dans une liste ?

XmlSerializer peut-il désérialiser des données XML dans une liste ?

Barbara Streisand
Libérer: 2025-01-13 08:08:42
original
355 Les gens l'ont consulté

Can XmlSerializer Deserialize XML Data into a List?

Utilisez XmlSerializer pour désérialiser XML dans une liste

La sérialisation est une technique puissante pour convertir des objets en un flux de données pouvant être stocké ou transmis. Un cas d'utilisation courant est la désérialisation, où les données sont reconverties en objets basés sur un format de données spécifique (tel que XML).

XmlSerializer peut-il convertir du XML en liste ?

Oui, il est possible d'utiliser la classe XmlSerializer pour désérialiser du XML dans une Liste. Cependant, étant donné que XmlSerializer convertit généralement XML en une instance directe d'une classe, une légère modification est requise pour y parvenir.

Créer une classe wrapper

Pour encapsuler la liste d'utilisateurs, créez une classe wrapper nommée UserList :

<code class="language-csharp">[XmlRoot("user_list")]
public class UserList
{
    public UserList() { Items = new List<User>(); }
    [XmlElement("user")]
    public List<User> Items { get; set; }
}</code>
Copier après la connexion

Exemple

Étant donné le XML et la classe User fournis, voici comment désérialiser XML dans une liste :

<code class="language-csharp">XmlSerializer ser = new XmlSerializer(typeof(UserList));
UserList list = new UserList();
list.Items.Add(new User { Id = 1, Name = "abc" });
list.Items.Add(new User { Id = 2, Name = "def" });
list.Items.Add(new User { Id = 3, Name = "ghi" });

ser.Serialize(Console.Out, list);</code>
Copier après la connexion

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!

source:php.cn
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