8
我創建了一個API包裝類庫,用於從第三方獲取其餘API。C#反序列化xml具有多個可能的命名空間
它們都在工作,直到他們最近更新了其產品的最新版本中的API並向根元素添加了命名空間,現在我的反序列化代碼失敗了。
我的一個類的實例:
[Serializable]
[XmlRootAttribute(ElementName = "exit_survey_list")]
public class SupportExitSurveyCollection : ApiResult { .... }
如果我設置在XmlRootAttribute到新的命名空間Namespace屬性返回,然後重新正常工作。
但我需要支持兩個版本的API(名稱空間而不是),因爲我無法確定哪個版本的API可用。
我想在沒有複製不同版本的類的情況下工作,但不知道是否可能。
感謝您的任何意見和建議。
感謝您的想法,我去了預處理路線,並刪除了任何名稱空間聲明。我認爲如果他們決定再次改變命名空間,這將使它在將來繼續工作。 – Adam 2011-02-11 19:35:38