【发布时间】:2011-06-25 17:33:55
【问题描述】:
我创建了一个 API 包装类库,用于使用来自第三方的 REST API。
直到他们最近在其产品的最新版本中更新了 API 并向根元素添加了一个命名空间,这一切都正常工作,现在我的反序列化代码失败了。
我的一个类的一个例子:
[Serializable]
[XmlRootAttribute(ElementName = "exit_survey_list")]
public class SupportExitSurveyCollection : ApiResult { .... }
如果我将 XmlRootAttribute 中的 Namespace 属性设置为返回的新命名空间,那么它会再次正常工作。
但我需要同时支持 API 的两个版本(命名空间和非命名空间),因为我不能确定哪个版本的 API 可用。
我希望在不为不同版本复制类的情况下使其正常工作,但不确定是否可行。
感谢您的任何意见/建议。
【问题讨论】:
标签: c# xml namespaces xml-deserialization