警告 - 我不是一個XML大師。C#/ .NET XML序列化程序 - 使用屬性作爲元素名稱
以下是我有:
<Fields>
<Field name="BusinessName" look-up="true">My Business</Field>
<Field name="BusinessType" look-up="false">Nobody really knows!</Field>
</Fields>
這映射回:
[XmlArrayItem(ElementName = "Field")]
public List<UserInfoField> Fields;
和
[Serializable, XmlRoot("Field")]
public class UserInfoField
{
[XmlAttributeAttribute("name")]
public string Name;
[XmlText]
public string Value;
[XmlAttributeAttribute("look-up")]
public bool LookUp;
}
反正有沒有得到這個序列化輸出,而不是:
<Fields>
<BusinessName look-up="true">My Business</BusinessName>
<BusinessType look-up="false">Nobody really knows!</BusinessType>
</Fields>
我明白,這可能是過於神奇,可以想像有一個很好的原因,這不應該工作......但我想它可能會,這是一個好地方,問:)
這是不正確的,你可以使用屬性覆蓋元素的name [XmlArrayItem] – 2013-03-20 21:30:30
不能覆蓋動態使用XmlSerializer因爲是元素名稱。你可以靜態地定義它,但這種情況下需要一個基於數據值的名稱。請修改或刪除您的評論,這是不準確的。 – jro 2013-03-21 04:52:49