Sen kullanmaya gerek xsd.exe
benzer 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.exe
ve örnek XML'nizi bir XSD dosyasına (XML şema dosyası) dönüştürürsünüz:
xsd yourfile.xml
Bu size yourfile.xsd
ikinci bir adımda tekrar kullanarak xsd.exe
bir C # sınıfına dönüştürebilmenizi sağlar :
xsd yourfile.xsd /c
Bu, aldığınız yourfile.cs
XML 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);