Maison > développement back-end > C++ > Comment désérialiser un document XML dans des objets C #?

Comment désérialiser un document XML dans des objets C #?

DDD
Libérer: 2025-02-02 17:16:09
original
867 Les gens l'ont consulté

How to Deserialize an XML Document into C# Objects?

C # Désérialisation XML: transformation des données XML en objets

Ce guide montre comment convertir les documents XML en objets C #, un processus appelé désérialisation. Utilisons cet exemple de 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>
Copier après la connexion

Pour désérialiser cela, nous créons des classes C # correspondantes:

[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; }
}

[System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
public class Cars
{
    [XmlArrayItem(typeof(Car))]
    public Car[] Car { get; set; }
}
Copier après la connexion

Maintenant, nous pouvons désérialiser le XML en utilisant XmlSerializer:

XmlSerializer serializer = new XmlSerializer(typeof(Cars));
Cars carData;
using (XmlReader reader = XmlReader.Create(xmlFilePath)) // xmlFilePath should be replaced with the actual file path
{
    carData = (Cars)serializer.Deserialize(reader);
}
Copier après la connexion

N'oubliez pas de remplacer xmlFilePath par le chemin d'accès réel vers votre fichier XML.

Alternativement, vous pouvez utiliser un processus en deux étapes impliquant XSD:

  1. Générer XSD: Créer une définition de schéma XML (XSD) à partir de votre fichier XML à l'aide d'un outil approprié (de nombreux IDE offrent cette fonctionnalité).

  2. Générez des classes C # à partir de XSD: Utilisez l'outil de ligne de commande xsd.exe (inclus avec Visual Studio) avec l'option /classes pour générer des classes C # à partir du XSD. Cela créera automatiquement des classes reflétant votre structure XML. Ensuite, utilisez le XmlSerializer comme indiqué ci-dessus. Cette méthode est particulièrement utile pour les structures XML complexes.

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal