Dans le premier scénario, tout est assez facile, j'ai le XML suivant, que je peux désérialiser en un type fort.Deserializing Dynamic XML
<providers>
<dprovider>
<dimensions>
<width></width>
</dimensions>
</dbrovider>
Dans le 2ème cas de figure, ce qui est là où je besoin d'aide pour ... J'ai quelque chose d'un peu plus dynamique
<providers>
<dprovider>
<dimensions>
<width></width>
</dimensions>
</dbrovider>
<dprovider>
<dimensions>
<height></height>
</dimensions>
</dbrovider>
Comme vous pouvez le voir les dimensions La sous-structure est différente dans les deux éléments, donc j'ai besoin de trouver un moyen de créer la classe fortement typée, afin qu'elle puisse gérer toute modification de l'élément dimensions, elle pourrait par exemple contenir un ole sous-structure imbriquée, différente pour chaque dbprovider.
Des idées sur la façon dont cela est fait?
si j'ai une liste d'objets, alors -> je suppose que je peux contenir n'importe quel objet, avec n'importe quelle structure dans cette collection? –
Exactement, mais je ne suis pas sûr si cela remplit votre exigence "doit être fortement typé", puisque votre code ressemblera à: si (dProvider.Dimensions [0] est ObjWithHeight) height = ((ObjWithHeight) dProvider.Dimensions [0]). Hauteur; Avoir à faire ce casting à chaque fois est une douleur royale. Si vous fournissiez plus de précisions sur votre objectif final (plutôt que sur la méthode que vous avez choisie), la communauté pourrait suggérer une méthode différente de la désérialisation personnalisée + Liste d'objets + diffusion. – JustLoren