Sen kullanmaya gerek xsd.exebenzer bir dizin içine bir şey, Windows SDK ile yüklü alır aracı:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
64 bit bilgisayarlarda:
C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\bin
Windows 10 bilgisayarlarda:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin
İlk çalıştırmada kullanırsınız xsd.exeve örnek XML'nizi bir XSD dosyasına (XML şema dosyası) dönüştürürsünüz:
xsd yourfile.xml
Bu size yourfile.xsdikinci bir adımda tekrar kullanarak xsd.exebir C # sınıfına dönüştürebilmenizi sağlar :
xsd yourfile.xsd /c
Bu, aldığınız yourfile.csXML dosyasının serisini kaldırmak için kullanabileceğiniz bir C # sınıfı içeren bir dosya vermelidir - şöyle bir şey:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));
Çoğu durumda oldukça iyi çalışmalıdır.
Güncelleme: XML serileştiricisi herhangi bir akışı girişi olarak alacaktır - bir dosya veya bir bellek akışı iyi olacaktır:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
msg resultingMessage = (msg)serializer.Deserialize(memStream);
veya bir StringReader kullanın:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
StringReader rdr = new StringReader(inputString);
msg resultingMessage = (msg)serializer.Deserialize(rdr);