我的任務是編寫一個序列化要傳入和傳出xml API的數據的庫。我以前從來沒有使用過這種技術,並且正在努力一點點。所有的請求都有很多重複的字段,所以我們正在考慮使用派生類來處理這個問題。該XML看起來這API的XML序列化
<request>
<UserId></UserId>
<AccountId></AccountId>
<Token></Token>
<Method>
<methodName></methodName>
<Id></Id>
<Date></Date>
</Method>
</request>
我們想然後用這樣的
public class Request
{
[XmlElement("token")]
public string token { get; set; }
[XmlElement("userId")]
public int userId { get; set; }
[XmlElement("accountId")]
public int accountId { get; set; }
}
然後
public class Method : Request
{
[XmlElement("methodName")]
public string methodName { get; set; }
[XmlElement("Id")]
public int Id { get; set; }
[XmlElement("Date")]
public string Date { get; set; }
}
我能得到這個使用序列化沒有問題XmlSerializer s = new XmlSerializer(typeof(Method));
但它的不嵌套繼承類,我可以找出/如何添加xmlElement(「方法」)。 有人可以幫助我正確創建類嗎?
編輯 我可以使這項工作很好,如果我從方法去除繼承和包括方法,類請求 - 然而,隨着不同的調用的許多的人,我們都會有,我想使這個漂亮可重用的代碼
看看類似的問題在這裏:http://stackoverflow.com/questions/9737363/serialize-nested-classes-in-c – Baahubali
爲什麼要額外的「方法」元素?你的「方法」是一個「請求」。該XML應該是' ' –
此外,你可能會發現更容易跳過XML序列化,只是使用LINQ到XML。 –