Ma structure de classe est la suivante.Sérialisation en C#
[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;}
}
}
Je reçois le code XML suivant quand je sérialiser la classe ci-dessus
<person>
<id>1</id>
<name>Test</name>
</person>
Maintenant, je voudrais sérialiser la classe ci-dessus comme suit à dire que je voudrais attribut append « type » pour chaque publique propriété sérialisée en tant qu'élément xml. Je peux ajouter un attribut "type" au noeud "person" en déclarant une autre propriété publique "type" avec "[XmlAttribute (" type ")]" mais je voudrais obtenir la même chose pour chaque propriété publique sérialisée en tant qu'élément xml. Toute idée de réaliser ci-dessous:
<person type=”Person”>
<id type=”int”>1</id>
<name type=”string”>Test</name>
</person>
+1 alternative folle! ... ajouter des conversions implicites vers/à partir de la typée à T, et vous obtenez une utilisation plus simple :) –
eglasius