Чтобы продолжить мою реализацию ... В итоге я отказался от использования класса XmlSerializer. Классы, которые я десериализовал, были довольно сложными и содержали списки других объектов, которые нужно было сериализовать. Количество атрибутов, которое я должен был добавить к своим классам, вызвало вонь кода
В итоге я использовал Linq to XML для десериализации .... Сложность делкараций классов снизилась, но оператор linq оказался довольно сложным.
Если бы я сделал это снова, я мог бы подумать об использовании WCF и сериализатора datacontract ... Это также может быть сложно сделать.
Мне любопытно, как люди десериализуют XML-документы в объекты в наши дни. После того, как я обдумал заявления Linq, я думаю, что это может быть путь. Объекты гораздо проще создавать, и они не должны быть публичными. Также кажется, что XmlSerializer - «старая школа», в то время как Linq to XML - больше «новая школа».
Мне бы очень хотелось услышать, что говорили другие.