Im ersten Szenario ist alles ziemlich einfach, ich habe das folgende XML, das ich zu einem starken Typ deserialisieren kann.Deserialisieren von dynamischem XML
<providers>
<dprovider>
<dimensions>
<width></width>
</dimensions>
</dbrovider>
Im zweiten Szenario, und das ist, wo ich Hilfe brauche ... Ich habe etwas mehr Dynamik
<providers>
<dprovider>
<dimensions>
<width></width>
</dimensions>
</dbrovider>
<dprovider>
<dimensions>
<height></height>
</dimensions>
</dbrovider>
Wie Sie die Dimensionen sehen Die Unterstruktur ist in beiden Items unterschiedlich, daher muss ich eine Möglichkeit finden, die stark typisierte Klasse zu erstellen, so dass sie jede Änderung am Dimensions-Element behandeln kann, sie könnte beispielsweise ein wh enthalten ole geschachtelte Unterstruktur, unterschiedlich für jeden dbprovider.
Irgendwelche Ideen, wie das gemacht wird?
Wenn ich eine Objektliste habe, dann -> Ich denke, ich kann jedes Objekt mit irgendeiner Struktur in dieser Sammlung halten? –
Genau, aber ich bin mir nicht sicher, ob dies Ihre Anforderung erfüllt "muss stark typisiert werden", da Ihr Code wie folgt aussehen wird: if (dProvider.Dimensions [0] ist ObjWithHeight) height = ((ObjWithHeight) dProvider.Dimensions [0]). Höhe; Das Casting jedes Mal zu tun ist ein königlicher Schmerz. Wenn Sie genauer erklären möchten, was Ihr Endziel ist (und nicht die von Ihnen gewählte Methode), könnte es eine andere Methode geben, die die Community vorschlagen könnte als benutzerdefinierte Deserialisierung + Objektliste + Casting. – JustLoren