2010-08-20 3 views
3

Quelle est la différence entre XmlArrayAttribute et XmlArrayItemAttribute? Veuillez expliquer les deux côtés (c'est-à-dire la sérialisation et la désérialisation).Quelle est la différence entre XmlArrayAttribute et XmlArrayItemAttribute?

+1

Demandez-vous parce que la documentation n'a pas de sens pour vous? http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlarrayattribute.aspx, http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlarrayitemattribute. aspx –

+0

La documentation est plutôt vague lorsqu'on compare les deux. Je commence à penser que même si elles fonctionnent de manière similaire lors de la sérialisation, il existe quelques différences subtiles lors de la désérialisation. Je l'ai eu pour travailler mais j'essaye de comprendre pourquoi l'un fonctionne et l'autre non. Il est possible que ce soit parce que ma classe enfant est dérivée. Je n'ai pas eu le temps de tester ça. –

Répondre

4

Une réponse courte - avec XmlArrayAttribute vous modifiez la façon dont la collection entière est sérialisée (par exemple, quel est le nom de la balise xml qui contiendra les entrées) et avec XmlArrayItemAttribute vous contrôlez chaque élément. Vraiment de bons exemples sont ici: http://msdn.microsoft.com/en-us/library/2baksw0z.aspx

+0

Mon problème est que j'ai créé une classe racine et une classe enfant. La classe racine a une propriété publique de type List . Lorsque j'essaie de désérialiser sans attribut, la liste n'est pas remplie. Lorsque j'applique XmlArrayAttribute à la liste , il n'est toujours pas renseigné. Lorsque j'applique XmlArrayItemAttribute, il est renseigné. Je me demande pourquoi l'un fonctionne et l'autre non. –

+0

Pourriez-vous s'il vous plaît coller (à votre question) votre classe et un exemple xml? – Grzenio

+0

Ce lien vient d'empêcher mon cerveau d'exploser. Je n'aime pas xmlSerialization. – Pondidum

Questions connexes