Моя структура классов выглядит следующим образом.
[Serializable]
[XmlRootAttribute("person", Namespace = "", IsNullable = false)]
public class Person : IDisposable
{
Private int _id;
Private string _name;
[XmlElement(“id”)]
Public int Id
{
Get{ return _id;}
Set{ _id = value;}
}
[XmlElement(“name”)]
Public string Name
{
Get{return _name;}
Set{_name = value;}
}
}
Я получаю следующий XML при сериализации вышеуказанного класса
<person>
<id>1</id>
<name>Test</name>
</person>
Теперь я хотел бы сериализовать вышеуказанный класс следующим образом, то есть я хотел бы добавить атрибут «type» для каждого открытого свойства, которое сериализовано как элемент xml. Я могу добавить атрибут «type» к узлу «person», объявив другое общедоступное свойство «type» с помощью «[XmlAttribute (« type »)]» », но я хотел бы добиться того же для каждого открытого свойства, сериализованного как элемент xml. Любая идея для достижения ниже:
<person type=”Person”>
<id type=”int”>1</id>
<name type=”string”>Test</name>
</person>