c# - Deserializing an object containing a list of int's -
मेरे पास जब यह ऑब्जेक्ट सीरियल कर दिया जाता है तो एक्सएमएल जेनरेट होता है और इस रूप में भेजा जाता है: समस्या यह है कि int मानों को सीरियल किया जाता है इस कारण ऑब्जेक्ट को विफल करने के लिए deserializing का कारण बनता है। जब मैं से ऑब्जेक्ट को सही ढंग से डिसेरिअल करें > उपयोग करना आसान है int की एक सूची युक्त एक धारावाहिक ऑब्जेक्ट के एक आरईएसईएस सर्विस रिटर्निंग एक्सएमएल है वस्तु कोड नीचे है
सिस्टम का उपयोग कर; System.Collections.Generic का उपयोग कर; System.Linq का उपयोग कर; System.Text का उपयोग कर; System.Xml.Serialization का उपयोग कर; नाम स्थान All.Tms.Dto {[XmlRoot (नामस्थान = "http://schemas.datacontract.org/2004/07/All.Tms.Dto")) सार्वजनिक कक्षा ReadSensorsForVehicleIdResponse {सार्वजनिक सूची & lt; int & gt; सेंसर आइडलिस्ट {प्राप्त करें; सेट; }}}
& lt; readSensorsForVehicleIdResponse xmlns = "http: //schemas.datacontract .org / 2004/07 / सभी टीएमएस.डेटा "xmlns: i =" http://www.w3.org/2001/XMLSchema-instance "& gt; & lt; सेंसर आईडीलिस्ट xmlns: a =" http: // स्कीमास microsoft.com/2003/10/Serialization/Arrays"><a:int>107</a:int></sensorIdList></ReadSensorsForVehicleIdResponse>
& lt; a: int & gt; 107 & lt; / एक: पूर्णांक & gt;
& lt; a: int & gt; 107 & lt; / a: int & gt;
& lt; int & gt; 107 & lt; / int & gt;
सार्वजनिक स्थिर टी Deserialize & lt; T & gt; (स्ट्रिंग xml) जहां टी: वर्ग {var serializer = नया एक्सएमएल सेरियललाइजर (टाइपफ (टी)); Var स्ट्रीम = नया मेमोरीस्ट्रीम (एन्कोडिंग.UTF8.GetBytes (xml)); Var रीडर = XmlReader.Create (स्ट्रीम); रिटर्न (टी) सीरियललाइजर। डायरेरिअलाइज़ (रीडर); }
var xDoc = XDocument.Parse (xmlstring); // या XDocument.Load (फ़ाइलनाम) XNamespace ns = "http://schemas.microsoft.com/2003/10/Serialization/Arrays"; Var a = xDoc.Descendants (ns + "int")। चयन करें (x = & gt; (int) x) .ओलिस्ट ();
Comments
Post a Comment