Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menukar Rentetan XML yang Diterima Melalui Soket ke Objek C#?
Tukar rentetan XML yang diterima oleh soket kepada objek C#
Dalam persekitaran rangkaian, adalah perkara biasa untuk menerima rentetan XML melalui soket. Untuk menggunakan mesej XML ini dengan berkesan, ia perlu ditukar kepada objek C#.
Sampel mesej XML yang disediakan mengikut struktur tertentu:
<code class="language-xml"><msg><id>1</id><action>stop</action></msg></code>
Untuk menukar rentetan XML sedemikian kepada objek C#, ikut langkah berikut:
Buat fail XSD: Pasang Windows SDK dan gunakan alat xsd.exe untuk menukar sampel XML kepada fail skema XSD. Jalankan arahan berikut:
<code class="language-bash">xsd yourfile.xml</code>
Jana kelas C#: Gunakan xsd.exe sekali lagi untuk menukar fail XSD kepada kelas C#. Jalankan arahan ini:
<code class="language-bash">xsd yourfile.xsd /c</code>
Ini akan menjana fail kelas C# (contohnya, yourfile.cs).
Menyahsiri rentetan XML: Untuk menyahsiri rentetan XML menjadi objek C#, buat tika XmlSerializer dan gunakannya untuk menyahsiri rentetan input. Berikut ialah contoh:
<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(msg)); msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));</code>
Sebagai alternatif, anda boleh menyahsiri daripada aliran memori:
<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>
Atau gunakan StringReader:
<code class="language-csharp">XmlSerializer serializer = new XmlSerializer(typeof(msg)); StringReader rdr = new StringReader(inputString); msg resultingMessage = (msg)serializer.Deserialize(rdr);</code>
Proses ini membolehkan anda menukar rentetan XML yang diterima melalui soket ke objek C# dengan cekap untuk pemprosesan dan manipulasi selanjutnya dalam aplikasi anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan XML yang Diterima Melalui Soket ke Objek C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!