Maison >développement back-end >C++ >Comment désérialiser les documents XML en objets C #?

Comment désérialiser les documents XML en objets C #?

Barbara Streisand
Barbara Streisandoriginal
2025-02-02 17:36:10781parcourir

How to Deserialize XML Documents into C# Objects?

Dans l'environnement du document XML dans l'environnement de l'environnement du document XML, explication détaillée de

Lors du traitement des documents XML dans l'application .NET, le document XML est souvent sérialisé en un objet C #. Ce processus consiste à convertir les données XML en la forme de représentation C # correspondante.

Exemple de document XML

Compte tenu des documents XML suivants contenant diverses informations sur les voitures:

<code class="language-xml"><?xml version="1.0" encoding="utf-8"?><cars><car><stocknumber>1020</stocknumber><make>Nissan</make><model>Sentra</model></car><car><stocknumber>1010</stocknumber><make>Toyota</make><model>Corolla</model></car><car><stocknumber>1111</stocknumber><make>Honda</make><model>Accord</model></car></cars></code>
Définition C #

Afin d'approfondir le document XML, nous devons définir la classe C # qui représente la structure XML. Créez deux catégories:

    Classe de voitures: détails d'une seule voiture.
  • <code class="language-csharp">  [Serializable()]
      public class Car
      {
        [System.Xml.Serialization.XmlElementAttribute("StockNumber")]
        public string StockNumber{ get; set; }
    
        [System.Xml.Serialization.XmlElementAttribute("Make")]
        public string Make{ get; set; }
    
        [System.Xml.Serialization.XmlElementAttribute("Model")]
        public string Model{ get; set; }
      }</code>
  • voitures: l'élément racine du document XML contient un tableau d'un objet de voiture.
  • <code class="language-csharp">  [System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
      public class Cars
      {
        [XmlArrayItem(typeof(Car))]
        public Car[] Car { get; set; }
    
      }</code>
  • Le processus d'approfondissement de la sérialisation

Pour déserter le document XML, veuillez créer une classe Carserializer contenant la méthode de désérialize:

Cette méthode charge le document XML, utilise XMLSerializer pour la convertir en un objet CARS et renvoie un compteur de données sérialisées.
<code class="language-csharp">public class CarSerializer
{
    public Cars Deserialize()
    {
        string path = HttpContext.Current.ApplicationInstance.Server.MapPath("~/App_Data/") + "cars.xml";

        using (XmlReader reader = XmlReader.Create(path))
        {
            XmlSerializer ser = new XmlSerializer(typeof(Cars));
            Cars cars = (Cars)ser.Deserialize(reader);
            return cars;
        }
    }
}</code>

en utilisant les données des données orientées vers le transporteur

Maintenant, vous pouvez utiliser la méthode Deseerialize pour obtenir l'objet de voitures de la séquençation, puis y accéder pour faire fonctionner et récupérer des informations sur la voiture.

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