Я надеялся, что кто-нибудь скажет мне, какой способ является более эффективным и / или правильным для получения некоторых данных.
У меня есть несколько XML-файлов от сторонних производителей и прикрепленные к ним DTD. Итак, я преобразовал DTD в класс C #, чтобы я мог десериализовать XML в классы. Теперь мне нужно отобразить эти данные так, чтобы они соответствовали настройке моих структур данных.
Вопрос, в конечном счете, таков; я должен использовать отражение или LINQ. Формат XML является несколько общим по своему дизайну, где вещи хранятся в Items [Array] или Item [Object].
Я сделал следующее:
TheirClass class = theirMessage.Items.Where(n=> n.GetType() == typeof(TheirClass)).First() as TheirClass;
MyObject.Param1 = ConversionHelperClass.Convert(class.Obj1);
MyObject.Param2 = ConversionHelperClass.Convert(class.Obj2);
Я также могу сделать кое-что с Reflection, где я передаю имена Классов и Атрибутов, которые я пытаюсь поймать.
Попытка сделать все правильно здесь.