反序列化到I型有XML的下面一段:XML基於屬性
<values>
<value type="A">
<something>ABC</something>
<something-else>DEF</something-else>
</value>
<value type="B">
<something-different>ABC</something-different>
<something-complex>
<id>B</id>
<name>B</name>
</something-complex>
</value>
我將如何創建C#代碼反序列化這正常嗎? 一般情況下我做這樣的事情:
public class A
{
[XmlElement("something")]
public string Something { get; set; }
[XmlElement("something-else")]
public string SomethingElse { get; set; }
}
和
public class B
{
[XmlElement("something-different")]
public string SomethingDifferent { get; set; }
[XmlElementAttribute("something-complex")]
public B_ID SomethingComplex { get; set; }
}
public class B_ID
{
[XmlElement("id")]
public int ID { get; set; }
[XmlElement("something-else")]
public string Name { get; set; }
}
但我不知道怎麼當的要素具有相同的名稱但不同的內容使用此基礎上的屬性。
如果什麼都行不通,您可以隨時手動完成 - 使用XDocument它不會佔用太多代碼。 – user1096188 2012-02-28 13:11:05