Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menukar Rentetan XML yang Diterima Melalui Soket ke Objek C#?

Bagaimanakah Saya Boleh Menukar Rentetan XML yang Diterima Melalui Soket ke Objek C#?

Linda Hamilton
Lepaskan: 2025-01-20 08:31:09
asal
724 orang telah melayarinya

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

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:

<msg><id>1</id><action>stop</action></msg>
Salin selepas log masuk

Untuk menukar rentetan XML sedemikian kepada objek C#, ikut langkah berikut:

  1. Buat fail XSD: Pasang Windows SDK dan gunakan alat xsd.exe untuk menukar sampel XML kepada fail skema XSD. Jalankan arahan berikut:

    xsd yourfile.xml
    Salin selepas log masuk
  2. Jana kelas C#: Gunakan xsd.exe sekali lagi untuk menukar fail XSD kepada kelas C#. Jalankan arahan ini:

    xsd yourfile.xsd /c
    Salin selepas log masuk

    Ini akan menjana fail kelas C# (contohnya, yourfile.cs).

  3. Menyahsiri rentetan XML: Untuk menyahsiri rentetan XML menjadi objek C#, buat tika XmlSerializer dan gunakannya untuk menyahsiri rentetan input. Berikut ialah contoh:

    XmlSerializer serializer = new XmlSerializer(typeof(msg));
    msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));
    Salin selepas log masuk

    Sebagai alternatif, anda boleh menyahsiri daripada aliran memori:

    XmlSerializer serializer = new XmlSerializer(typeof(msg));
    MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
    msg resultingMessage = (msg)serializer.Deserialize(memStream);
    Salin selepas log masuk

    Atau gunakan StringReader:

    XmlSerializer serializer = new XmlSerializer(typeof(msg));
    StringReader rdr = new StringReader(inputString);
    msg resultingMessage = (msg)serializer.Deserialize(rdr);
    Salin selepas log masuk

    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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan