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
Patricia Arquetteasal
2025-01-20 08:26:09887semak imbas

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>

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>

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>
  • Gunakan MemoryStream:
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg));
MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
msg resultingMessage = (msg)serializer.Deserialize(memStream);</code>
  • Gunakan StringReader:
<code>XmlSerializer serializer = new XmlSerializer(typeof(msg));
StringReader rdr = new StringReader(inputString);
msg resultingMessage = (msg)serializer.Deserialize(rdr);</code>

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:
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