Maison > développement back-end > C++ > Comment puis-je convertir les chaînes XML reçues via des sockets en objets C# ?

Comment puis-je convertir les chaînes XML reçues via des sockets en objets C# ?

Linda Hamilton
Libérer: 2025-01-20 08:31:09
original
685 Les gens l'ont consulté

How Can I Convert XML Strings Received Over Sockets into C# Objects?

Convertir la chaîne XML reçue par le socket en un objet C#

Dans un environnement réseau, il est très courant de recevoir des chaînes XML via des sockets. Afin d'utiliser efficacement ces messages XML, ils doivent être convertis en objets C#.

L'exemple de message XML fourni suit une structure spécifique :

<code class="language-xml"><msg><id>1</id><action>stop</action></msg></code>
Copier après la connexion

Pour convertir une telle chaîne XML en objet C#, suivez ces étapes :

  1. Créez un fichier XSD : Installez le SDK Windows et utilisez l'outil xsd.exe pour convertir l'exemple XML en fichier de schéma XSD. Exécutez la commande suivante :

    <code class="language-bash">xsd yourfile.xml</code>
    Copier après la connexion
  2. Générer des classes C# : Utilisez à nouveau xsd.exe pour convertir le fichier XSD en classes C#. Exécutez cette commande :

    <code class="language-bash">xsd yourfile.xsd /c</code>
    Copier après la connexion

    Cela générera un fichier de classe C# (par exemple, yourfile.cs).

  3. Désérialiser une chaîne XML : Pour désérialiser une chaîne XML en un objet C#, créez une instance XmlSerializer et utilisez-la pour désérialiser la chaîne d'entrée. Voici un exemple :

    <code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(msg));
    msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));</code>
    Copier après la connexion

    Vous pouvez également désérialiser à partir d'un flux mémoire :

    <code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(msg));
    MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
    msg resultingMessage = (msg)serializer.Deserialize(memStream);</code>
    Copier après la connexion

    Ou utilisez StringReader :

    <code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(msg));
    StringReader rdr = new StringReader(inputString);
    msg resultingMessage = (msg)serializer.Deserialize(rdr);</code>
    Copier après la connexion

Ce processus vous permet de convertir efficacement les chaînes XML reçues via les sockets en objets C# pour un traitement et une manipulation ultérieurs dans votre application.

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