Anda perlu menggunakan xsd.exe
alat yang terinstal dengan Windows SDK ke direktori yang mirip dengan:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
Dan pada komputer 64-bit:
C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\bin
Dan pada komputer Windows 10:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin
Pada percobaan pertama, Anda menggunakan xsd.exe
dan Anda mengonversi sampel XML Anda menjadi file XSD (file skema XML):
xsd yourfile.xml
Ini memberi Anda yourfile.xsd
, yang pada langkah kedua, Anda dapat mengkonversi lagi menggunakan xsd.exe
kelas C #:
xsd yourfile.xsd /c
Ini akan memberi Anda file yourfile.cs
yang akan berisi kelas C # yang dapat Anda gunakan untuk menghapus deserialisasi file XML yang Anda peroleh - sesuatu seperti:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));
Harus bekerja dengan cukup baik untuk sebagian besar kasus.
Pembaruan: serializer XML akan mengambil aliran apa pun sebagai input - baik file atau aliran memori akan baik-baik saja:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
msg resultingMessage = (msg)serializer.Deserialize(memStream);
atau gunakan StringReader:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
StringReader rdr = new StringReader(inputString);
msg resultingMessage = (msg)serializer.Deserialize(rdr);