Maison >développement back-end >C++ >Comment désérialiser XML en classes C #?
CONTATEDIE:
La revitalisation fait référence au processus de conversion de données sérialisées en son format d'objet d'origine. Cet article fournit un guide complet pour présenter comment discerner le document XML dans une classe C # personnalisée qui indique la structure XML.
Processus de revitalisation:
Définissez la structure de classe: Créer une classe C # qui reflète la structure du document XML. Utilisez
et pour mapper l'élément XML à l'attribut de classe.[Serializable]
Créer une logique dérivée: [XmlElement]
Implémentez une méthode, et le document XML est sérialisé dans l'instance de la classe <code class="language-csharp">[Serializable()] public class Car { [XmlElementAttribute("StockNumber")] public string StockNumber { get; set; } [XmlElementAttribute("Make")] public string Make { get; set; } [XmlElementAttribute("Model")] public string Model { get; set; } } [XmlRootAttribute("Cars", IsNullable = false)] public class Cars { [XmlArrayItem(typeof(Car))] public Car[] Car { get; set; } }</code>
Cars
Une autre méthode consiste à utiliser XSD (définition du mode XML) pour générer une classe C # conforme à la structure XML. <code class="language-csharp">public class CarSerializer { public Cars Deserialize(string path) { // 读取XML文件 XmlSerializer serializer = new XmlSerializer(typeof(Cars)); using (StreamReader reader = new StreamReader(path)) { // 将XML反序列化到Cars对象 return (Cars)serializer.Deserialize(reader); } } }</code>Enregistrez le fichier XML sur le disque comme
Générer le mode XSD:
générer du code C #:
foo.xml
Cela créera , qui contient la classe C # avec la structure XML. xsd foo.xml
Utiliser Implémentation alternative: xsd foo.xsd /classes
Grâce aux étapes ci-dessus, vous pouvez facilement dissoudre les données XML dans l'objet C # pour faciliter le traitement et l'utilisation ultérieurs. Veuillez noter que 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!