Благодаря @ DavidBrowne-Microsoft я изменил свой код на XDocument и немного Linq на XML
XDocument doc = XDocument.Parse(xmlString);
var programme = doc.Descendants("programme").Select(p => p);
foreach (XElement p in programme) {
foreach (var attr in p.Attributes()){
AppendText($"{attr.Name} {attr.Value}");
}
foreach (XElement ele in p.Elements()) {
if (ele.HasElements) {
foreach (XElement child in ele.Elements()) {
AppendText($"{child.Name} {child.Value}");
}
}
else {
AppendText($"{ele.Name} {ele.Value}");
}
}
}
Я нашел только несколько примеров для начинающих, поэтому вот этот фрагмент для начала.