XML attendu Sortie:XmlSerializer - même élément avec des attributs différents
<add>
<doc>
<field name="id">1</field>
<field name="Myname">MyName1</field1>
</doc>
<doc>
<field name="id">2</field>
<field name="Myname">MyName2</field>
</doc>
<doc>
<field name="id">3</field>
<field name="Myname">MyName3</field>
</doc>
</add>
Pour obtenir le document XML ci-dessus, j'ai conçu la classe suivante
public class doc
{
[XmlElement("field")]
public ID Id
{
get;
set;
}
[XmlElement("field2")]
public Name Myname
{
get;
set;
}
}
classe nom sera
public class Name
{
[XmlText]
public string Namevalue
{
get;
set;
}
[XmlAttribute("name")]
public string Myname
{
get;
set;
}
}
Code XmlSerializer:
XmlSerializer serializer = new XmlSerializer(typeof(List<doc>), new XmlRootAttribute("add"));
Cela me donne la sortie suivante
<add>
<doc>
<field name="id">1</field>
<field2 name="Myname">MyName1</field2>
</doc>
<doc>
<field name="id">2</field>
<field2 name="Myname">MyName2</field2>
</doc>
<doc>
<field name="id">3</field>
<field2 name="Myname">MyName3</field2>
</doc>
</add>
Ici, le field2 devrait être domaine Je sais que je dois changer la field2 comme champ dans doc classe mais cela entraîne une erreur.
Comment dois-je concevoir ma classe pour obtenir la sortie attendue?
Edit: classe ID regardera aussi comme classe nom avec ses propres attributs
Qu'est-ce que la classe 'ID'? –
@Saeed pl regarder edit –
Question intéressante. J'ai besoin de cette information pour formater les données XML à utiliser avec une grille DHTMLX. –