आपको उस xsd.exe
उपकरण का उपयोग करने की आवश्यकता है जो विंडोज एसडीके के साथ एक निर्देशिका में कुछ इसी तरह स्थापित होता है:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
और 64-बिट कंप्यूटरों पर:
C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\bin
और विंडोज 10 कंप्यूटर पर:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin
पहले रन पर, आप उपयोग करते हैं xsd.exe
और आप अपने नमूने XML को XSD फ़ाइल (XML स्कीमा फ़ाइल) में परिवर्तित करते हैं:
xsd yourfile.xml
यह आपको देता है yourfile.xsd
, जो एक दूसरे चरण में, आप फिर से xsd.exe
C # वर्ग में उपयोग करके परिवर्तित कर सकते हैं :
xsd yourfile.xsd /c
इससे आपको एक ऐसी फ़ाइल मिलनी चाहिए yourfile.cs
जिसमें एक C # क्लास होगी जिसका उपयोग आप XML फ़ाइल को प्राप्त करने के लिए कर सकते हैं - जो कुछ इस प्रकार है:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
msg resultingMessage = (msg)serializer.Deserialize(new XmlTextReader("yourfile.xml"));
ज्यादातर मामलों के लिए बहुत अच्छी तरह से काम करना चाहिए।
अद्यतन: XML धारावाहिक अपने इनपुट के रूप में किसी भी धारा को ले जाएगा - या तो एक फ़ाइल या मेमोरी स्ट्रीम ठीक होगी:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
MemoryStream memStream = new MemoryStream(Encoding.UTF8.GetBytes(inputString));
msg resultingMessage = (msg)serializer.Deserialize(memStream);
या एक स्ट्रिंगर का उपयोग करें:
XmlSerializer serializer = new XmlSerializer(typeof(msg));
StringReader rdr = new StringReader(inputString);
msg resultingMessage = (msg)serializer.Deserialize(rdr);