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>
Pour convertir une telle chaîne XML en objet C#, suivez ces étapes :
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>
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>
Cela générera un fichier de classe C# (par exemple, yourfile.cs).
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>
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>
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>
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!