Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menukar Rentetan XML ke Objek C# menggunakan xsd.exe dan XmlSerializer?

Bagaimana untuk Menukar Rentetan XML ke Objek C# menggunakan xsd.exe dan XmlSerializer?

Patricia Arquette
Lepaskan: 2025-01-20 08:26:09
asal
905 orang telah melayarinya

How to Convert XML Strings to C# Objects using xsd.exe and XmlSerializer?

Pemprosesan rentetan XML yang cekap diterima oleh soket: Panduan penukaran objek C#

Selepas menerima rentetan XML melalui soket, adalah berguna untuk menukarnya menjadi objek C# untuk pemprosesan selanjutnya. Alat xsd.exe yang disediakan oleh Windows SDK boleh mencapai matlamat ini dengan mudah.

Langkah 1: Jana fail XSD

Gunakan xsd.exe untuk menukar rentetan XML sampel kepada fail XSD Perintahnya adalah seperti berikut:

<code>xsd yourfile.xml</code>
Salin selepas log masuk

Ini akan mencipta fail yang dipanggil yourfile.xsd yang mentakrifkan skema untuk mesej XML.

Langkah 2: Jana kelas C#

Seterusnya, tukar fail XSD yang dihasilkan ke dalam kelas C# menggunakan arahan berikut:

<code>xsd yourfile.xsd /c</code>
Salin selepas log masuk

Ini akan menjana fail yang dipanggil yourfile.cs yang mengandungi kelas yang boleh digunakan untuk menyahsiri rentetan XML yang diterima.

Deserialisasi menggunakan XmlSerializer

Untuk menyahsiri rentetan XML yang masuk, buat tika XmlSerializer untuk kelas yang dijana dan hantarkan strim atau pembaca yang mengandungi data XML. Berikut ialah beberapa cara untuk melakukannya:

  • Gunakan FileStream:
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg));
msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));</code>
Salin selepas log masuk
  • Gunakan MemoryStream:
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg));
MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
msg resultingMessage = (msg)serializer.Deserialize(memStream);</code>
Salin selepas log masuk
  • Gunakan StringReader:
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg));
StringReader rdr = new StringReader(inputString);
msg resultingMessage = (msg)serializer.Deserialize(rdr);</code>
Salin selepas log masuk

Dengan langkah-langkah ini, anda boleh berjaya menukar rentetan XML masuk menjadi objek C# untuk memudahkan manipulasi dan pemprosesan dalam kod C#.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan XML ke Objek C# menggunakan xsd.exe dan XmlSerializer?. 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