Désérialiser XML en liste à l'aide d'un wrapper de classe supplémentaire
Vous pouvez utiliser XmlSerializer
pour désérialiser XML en List<T>
en utilisant une classe supplémentaire pour encapsuler la liste.
Cours d'emballage
Créez une classe qui encapsule une liste, par exemple :
<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>
Classe d'utilisateurs
Définissez la classe User
comme avant :
<code class="language-csharp">public class User { [XmlElement("id")] public Int32 Id { get; set; } [XmlElement("name")] public String Name { get; set; } }</code>
Code de désérialisation
Désérialisez le XML en utilisant le code suivant :
<code class="language-csharp">using System.Xml.Serialization; XmlSerializer ser = new XmlSerializer(typeof(UserList)); UserList list = (UserList)ser.Deserialize(new XmlTextReader("users.xml"));</code>
Cela désérialisera le XML en une classe UserList
, qui contient une liste d'objets User
.
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!