Bạn cần sử dụng xsd.exe
công cụ được cài đặt với SDK Windows vào một thư mục tương tự như:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
Và trên máy tính 64 bit:
C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\bin
Và trên máy tính Windows 10:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin
Trong lần chạy đầu tiên, bạn sử dụng xsd.exe
và bạn chuyển đổi XML mẫu của mình thành tệp XSD (tệp lược đồ XML):
xsd yourfile.xml
Điều này mang lại cho bạn yourfile.xsd
, trong bước thứ hai, bạn có thể chuyển đổi lại bằng cách sử dụng xsd.exe
thành lớp C #:
xsd yourfile.xsd /c
Điều này sẽ cung cấp cho bạn một tệp yourfile.cs
sẽ chứa một lớp C # mà bạn có thể sử dụng để giải tuần tự hóa tệp XML mà bạn nhận được - đại loại như:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));
Nên làm việc khá tốt cho hầu hết các trường hợp.
Cập nhật: trình tuần tự hóa XML sẽ lấy bất kỳ luồng nào làm đầu vào của nó - một tệp hoặc một luồng bộ nhớ sẽ ổn:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
msg resultingMessage = (msg)serializer.Deserialize(memStream);
hoặc sử dụng StringReader:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
StringReader rdr = new StringReader(inputString);
msg resultingMessage = (msg)serializer.Deserialize(rdr);