Я думаю, что здесь есть небольшая путаница в определении «дочернего узла». В данном примере <titel>
, <gattung>
, <interpret>
, <komponist>
и <entstehungsjahr>
являются дочерними узлами <werk>
. Из того, что я собрал, учитывая заголовок, вы хотите получить значения, которые содержат другие теги. Вот один из способов сделать это:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"path\to\file.xml");
List<string> values = new List<string>(); // Create a new list
// Select the 'werk' node whose title is 'So what?'
XmlNode werk = xmlDoc.SelectSingleNode("/root/werk[titel='So what?']");
// If you're getting the title from a textbox, then obviously you won't hardcode
// 'So what?' here.
// Add the value of each child node to the list
foreach (XmlNode node in werk.ChildNodes)
{
values.Add(node.InnerText);
}
Затем просто выведите содержимое списка, в котором вы хотите их отобразить (в другом текстовом поле, которое я считаю).