У меня есть этот классДобавление атрибутов при сериализации в XML
public class Audit
{
public string name { get; set;}
public DateTime AuditDate { get; set;}
public long? DepartmentId {get; set;}
public string Department { get; set;}
public long? StateId { get; set;}
public string? State { get; set; }
public long? CountryId { get; set; }
public string Country { get; set; }
}
Когда я сериализации это выглядит
<Audit>
<name>George</name>
<AuditDate>01/23/2013</AuditDate>
<DepartmentId>10</DepartmentId>
<Department>Lost and Found</Department>
<StateId>15</StateId>
<State>New Mexico</StateId>
<CountryId>34</CountryId>
<Country>USA</Country>
</Audit>
Я добавил этот класс, чтобы попытаться получить поля идентификаторов в качестве атрибута
public class ValueWithId
{
[XmlAttribute ("id")]
public long? Id { get; set; }
[XmlText] // Also tried with [XmlElement]
public string Description { get; set; }
}
Переделал мой класс к этому
[Serializable]
public class Audit
{
public string name { get; set;}
public DateTime AuditDate { get; set;}
public ValueWithId Department { get; set;}
public ValueWithId State { get; set; }
public ValueWithId Country { get; set; }
}
Но я получаю ошибку «Был ошибка отражает тип Аудит»
Я пытаюсь получить следующее как XML
<Audit>
<name>George</name>
<AuditDate>01/23/2013</AuditDate>
<Department id=10>Lost and Found</Department>
<State id=15>New Mexico</State>
<Country id=34>USA</Country>
</Audit>
Благодарности
Я до сих пор получаю сообщение об ошибке «Была ошибка, отражающая тип Audit» – plh
@plh удалил ли вы nullable ??? – giammin
Спасибо. Именно так, мой идентификатор был недействительным. – plh