Вам обязательно это все в C# делать?
Есть прекрасный способ: использовать xslt-шаблоны.
Описывается какие данные и в какой формате вам нужны в шаблоне. И уже в .net применяете этот шаблон к вашей xml.
https://docs.microsoft.com/ru-ru/dotnet/standard/d...