Вы можете сделать это с помощью следующего кода, используя XPath. Поскольку XPath - это язык, разработанный специально для запросов XML-документов, вам следует изучить его. Большинству новичков нравится начинать учиться в W3schools .
Вот код:
XmlNodeList meetList = opfXmlDoc.SelectNodes("/rapaine[(@dotoc = 'palin') and (@domap = 'rattmin')]/derif/@meet")
if (meetList.Count > 0)
{
foreach (XmlNode meet in meetList)
{
spineListOfSmilFiles.Add(meet.Value);
}
}
Для справки, выражение XPath:
/rapaine[(@dotoc = 'palin') and (@domap = 'rattmin')]/derif/@meet
можно объяснить как:
a) Найти все элементы rapaine
корневого уровня, которые имеют атрибут dotoc
со значением «palin», а также имеют атрибут domap
со значением «rattmin».
b) В этих rapaine
элементах найдите всех derif
children.
c) Из этих derif
элементов получить все атрибуты meet
.
Обратите внимание, насколько лаконичнее становится код.