Maison > développement back-end > C++ > Comment désérialiser efficacement les documents XML en C # à l'aide de l'outil `XSD`?

Comment désérialiser efficacement les documents XML en C # à l'aide de l'outil `XSD`?

DDD
Libérer: 2025-02-02 17:31:10
original
931 Les gens l'ont consulté

How to Efficiently Deserialize XML Documents in C# Using the `xsd` Tool?

rationaliser la désérialisation XML dans C #

Ce guide fournit une solution robuste pour désérialiser les documents XML en C #, en particulier pour relever les défis avec des structures complexes. L'exemple XML présente des difficultés pour les méthodes de désérialisation standard.

Le défi:

La désérialisation directe de la structure XML suivante échoue souvent en raison de sa mise en forme:

<code class="language-xml"><?xml version="1.0" encoding="utf-8"?><br></br><cars><br></br><car><StockNumber>1020</StockNumber>
<Make>Nissan</Make>
<Model>Sentra</Model><p></p></car><br></br><car><StockNumber>1010</StockNumber>
<Make>Toyota</Make>
<Model>Corolla</Model><p></p></car><br></br><car><StockNumber>1111</StockNumber>
<Make>Honda</Make>
<Model>Accord</Model><p></p></car><br></br></cars><br></br></code>
Copier après la connexion

Tiration de l'outil xsd pour une désérialisation efficace:

L'outil xsd offre une solution puissante. Cette approche génère des classes C # qui correspondent précisément à la structure du XML, simplifiant la désérialisation.

étapes:

  1. Enregistrez le XML: Enregistrez les données XML en tant que fichier (par exemple, cars.xml).
  2. Générer XSD: Exécutez la commande xsd cars.xml pour générer un fichier de schéma XSD (cars.xsd).
  3. Générer des classes C #: Exécutez la commande xsd cars.xsd /classes pour générer un fichier de code C # (par exemple, cars.cs) contenant des classes représentant les éléments XML.

désérialisation avec XmlSerializer:

Après avoir généré les classes C #, utilisez le XmlSerializer pour désérialiser le XML:

  1. Créer XmlSerializer: XmlSerializer ser = new XmlSerializer(typeof(Cars)); (en supposant Cars est la classe racine générée par xsd).
  2. Créer XmlReader: XmlReader reader = XmlReader.Create(path); (Remplacer path par le chemin du fichier XML).
  3. désérialiser: Cars carsData = (Cars)ser.Deserialize(reader);

N'oubliez pas d'inclure le fichier généré cars.cs dans votre projet. Cette méthode assure la désérialisation précise et sécurisée des données XML. Cette approche gère efficacement les irrégularités de la mise en forme du XML d'origine.

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