मैंने किसी तृतीय पक्ष से बाकी एपीआई उपभोग करने के लिए एक एपीआई रैपर क्लास लाइब्रेरी बनाई है।सी # कई संभावित नामस्थानों के साथ desmlializing xml
यह तब तक काम कर रहा था जब तक कि उन्होंने हाल ही में अपने उत्पाद के नवीनतम संस्करण में एपीआई अपडेट नहीं किया और मूल तत्व में नामस्थान जोड़ा, अब मेरा deserialization कोड विफल हो रहा है।
मेरी वर्गों में से एक का एक उदाहरण:
[Serializable]
[XmlRootAttribute(ElementName = "exit_survey_list")]
public class SupportExitSurveyCollection : ApiResult { .... }
अगर मैं नया नाम स्थान के लिए XmlRootAttribute में नाम स्थान संपत्ति लौटाए जाने के लिए सेट है, तो यह ठीक से फिर से काम करता है।
लेकिन मुझे एपीआई (नेमस्पेस्ड और नहीं) दोनों संस्करणों का समर्थन करने की आवश्यकता है क्योंकि मुझे यकीन नहीं है कि एपीआई का कौन सा संस्करण उपलब्ध होगा।
मैं इसे विभिन्न संस्करणों के लिए कक्षाओं को डुप्लिकेट किए बिना काम करना चाहता हूं, लेकिन यह सुनिश्चित नहीं है कि यह संभव है या नहीं।
किसी भी इनपुट/सलाह के लिए धन्यवाद।
विचारों के लिए धन्यवाद, मैं प्री-प्रोसेसिंग मार्ग चला गया और किसी भी नेमस्पेस घोषणाओं को हटा दिया। मुझे लगता है कि यह भविष्य में काम करने की अनुमति देगा अगर वे नामस्थान को फिर से बदलने का फैसला करते हैं। – Adam