Что ж, в вашей сборке должны быть классы, которые примерно соответствуют XML (свойство с именем Private, свойство коллекции с именем ToDo и т. Д.).
Проблема в том, что в XML есть элементы, которые недопустимы для имен классов . Таким образом, вам нужно реализовать IXmlSerializable в этих классах, чтобы контролировать, как они сериализуются в и из XML. Возможно, вам также удастся обойтись без некоторых специфических атрибутов сериализации xml, но это зависит от схемы вашего xml.
Это шаг выше по сравнению с использованием отражения, но это может быть не совсем то, на что вы надеетесь.