c# - XML deserialization doesn't initialize an array element -


मैं निम्नलिखित XML को deserialize करने का प्रयास कर रहा हूं:

  & lt; ns0: L2CCustomer xmlns: ns0 = "http: //CustomerSyncFromMDM_L2C.L2CCustomer_XML" & gt; & LT; customerList & gt; & LT; ग्राहक & gt; & LT; DNV_Status & gt; सक्रिय & lt; / DNV_Status & gt; & LT; MDM_ID & gt; 1270004 & lt; / MDM_ID & gt; & LT; FULLNAME & gt; JONBER030 & lt; / FULLNAME & gt; & LT; AFFRowID & gt; 1-GT6E0X & lt; / AFFRowID & gt; & LT; addressList & gt; & LT; पता & gt; & LT; addrType & gt; कार्यालय & lt; / addrType & gt; & LT; addrStatus & gt; सक्रिय & lt; / addrStatus & gt; & LT; MDM_ID & gt; 2090001 & lt; / MDM_ID & gt; & Lt; एन्डरलाइन 1 & gt; ट्राएनवीन 14 & lt; / addrLine1 & gt; & Lt; एड्रलाइन 2 & gt; बिल्डिंग 2 & lt; / addrLine2 & gt; & LT; शहर & gt; के रूप में & lt; / शहर & gt; & LT; PostalCode & gt; 1430 & lt; / PostalCode & gt; & LT; देश & gt; नॉर्वे & lt; / देश & gt; & LT; validCountryISO2 & gt; नहीं & lt; / validCountryISO2 & gt; & LT; AFFRowID & gt; 1-GT6E13 & lt; / AFFRowID & gt; & Lt; / पता & gt; & Lt; / addressList & gt; & Lt; / ग्राहक & gt; & Lt; / customerList & gt; & Lt; / ns0: L2CCustomer & gt;  

मैं उपयोग कर रहा हूँ जो कोड (टी प्रकार AffinitasClientRoot का प्रकार है):

  System.IO.StreamReader r = नया सिस्टम.आईओ.स्ट्रीमरेडर (मी .BodyStream); स्ट्रिंग cze = r.ReadToEnd (); Var serializer = नया System.Xml.Serialization.XmlSerializer (टाइपफ (टी)); टी परिणाम; (System.IO.TextReader रीडर = नया सिस्टम। आईओ। स्ट्रिंग रीडर (सीज़)) का उपयोग करते हुए {परिणाम = (टी) सीरियलइज़र। डायरेरिअलाइज़ (रीडर); }  

वर्ग:

  [serializable] [XmlRoot (एलिमेंटनाम = "L2CC ग्राहक", नामस्थान = "http: //CustomerSyncFromMDM_L2C.L2CCustomer_XML")] [XmlType ("L2CCustomer")] सार्वजनिक वर्ग AffinitasClientRoot {[XmlArray ("ग्राहक सूची")] [XmlArrayItem ("ग्राहक")] सार्वजनिक AffinitasClient [] ग्राहक {प्राप्त करें; सेट; }} [Serializable] [XmlRoot (ElementName = "ग्राहक")] [XmlType ("ग्राहक")] सार्वजनिक वर्ग AffinitasClient {[XmlElement (ElementName = "AFFROWID")) सार्वजनिक स्ट्रिंग RowId {get; सेट; } [XmlElement (ElementName = "MDM_ID")] सार्वजनिक स्ट्रिंग MdmId {get; सेट; } [XmlElement (ElementName = "fullName")] सार्वजनिक स्ट्रिंग नाम {get; सेट; } [XmlElement (ElementName = "DNV_Status")] सार्वजनिक स्ट्रिंग स्थिति {get; सेट; } सार्वजनिक बूल सक्रिय {प्राप्त करें {वापस स्थिति == "सक्रिय"; }} [XmlArray ("पता लिस्ट")] [XmlArrayItem ("पता")] सार्वजनिक AffinitasClientAddress [] पता [get; सेट; } [XmlElement (एलिमेंटनम = "अंतिम अपडेड बायटिमस्टैम्प")] सार्वजनिक तिथि समय अंतिम अपडेटेड {प्राप्त; सेट; } // [XmlElement (एलिमेंटनैम = "अपडेटेड")] // सार्वजनिक डेटटाइम लास्ट अपडेटडेट {प्राप्त करें; सेट; } {Serializable] [XmlRoot (ElementName = "पता")] [XmlType ("पता")] सार्वजनिक वर्ग AffinitasClientAddress {[XmlElement (ElementName = "AFFROWID")] सार्वजनिक स्ट्रिंग RowId {get; सेट; } [XmlElement (ElementName = "MDM_ID")] सार्वजनिक स्ट्रिंग MdmId {get; सेट; } [XmlElement (ElementName = "addrType")] सार्वजनिक स्ट्रिंग एड्रेसटैप {get; सेट; } [XmlElement (एलिमेंटनाम = "एडरस्टैटस")] सार्वजनिक स्ट्रिंग स्थिति {प्राप्त; सेट; } सार्वजनिक बूल सक्रिय {प्राप्त करें {वापस स्थिति == "सक्रिय"; }} [XmlElement (ElementName = "addrLine1")] सार्वजनिक स्ट्रिंग पता 1 {get; सेट; } [XmlElement (एलिमेंटनाम = "एड्रलाइन 2")] सार्वजनिक स्ट्रिंग पता 2 {get; सेट; } [XmlElement (एलीमेंटनाम = "शहर")] सार्वजनिक स्ट्रिंग शहर {get; सेट; } [XmlElement (ElementName = "postalCode")] सार्वजनिक स्ट्रिंग डाक कोड {प्राप्त करें; सेट; } [XmlElement (ElementName = "देश")] सार्वजनिक स्ट्रिंग देश {get; सेट; } [XmlElement (एलीमेंटनाम = "वैध CountryISO2")] सार्वजनिक स्ट्रिंग देशकोड {प्राप्त करें; सेट; } [XmlElement (एलिमेंटनम = "अंतिम अपडेड बायटिमस्टैम्प")] सार्वजनिक तिथि समय अंतिम अपडेटेड {प्राप्त; सेट; }}  

deserialization किसी भी अपवाद फेंक नहीं करता है, लेकिन क्लाइंट सरणी रिक्त है। किसी भी विचार मैं इसे कैसे हल कर सकते हैं? मैं इसे कुछ घंटों के लिए करने की कोशिश कर रहा हूं और मैं इसे समझ नहीं सकता।

आपका AffinitasClientRoot वर्ग इस तरह दिखना चाहिए:

  सार्वजनिक वर्ग AffinitasClientRoot {[XmlArray ("ग्राहक सूची", नामस्थान = "")] // यहाँ !!!! [एक्सएमएलएआरआरएआईटीएम ("ग्राहक")] सार्वजनिक AffinitasClient [] ग्राहक {प्राप्त; सेट; }}  

I.e। नामस्थान नाम 'से' वापस 'स्विच करने के लिए घोषित करें' नामहीन नामस्थान '।


Comments

Popular posts from this blog

winforms - C# Form - Property Change -

java - Messages from .properties file do not display UTF-8 characters -

javascript - amcharts makechart not working -