Извлечение дочерних элементов и внуков XElement по имени

У меня есть XElement (myParent), содержащий несколько уровней дочерних элементов, из которых я хочу извлечь данные. Интересующие элементы находятся в известных местах в родительском элементе.

Я понимаю, что могу получить дочерний элемент с помощью:

myParent.Element(childName);

или

myParent.Element(level1).Element(childName);

У меня возникли проблемы с определением, как это сделать, если я хочу выполнить цикл через массив или список элементов, находящихся на разных уровнях, и цикл по списку. Например, я заинтересован в получении следующего набора элементов:

myParent.Element("FieldOutputs").Element("Capacity");
myParent.Element("EngOutputs").Element("Performance")
myParent.Element("EngOutputs").Element("Unit").Element("Efficiency")

Как я могу определить эти местоположения в массиве, чтобы я мог просто пройти через массив?

т.е.

string[] myStringArray = {"FieldOutputs.Capacity", "EngOutputs.Performance", "EngOutputs.Unit.Efficiency"};

for (int i=0; i< myArray.Count(); i++)
{
    XElement myElement = myParent.Element(myStringArray);
}

Я понимаю, что описанный выше метод не работает, но я просто хотел эффективно показать, чего я пытаюсь достичь.

Любые отзывы приветствуются.

Спасибо, Джастин

0
задан Justin Kauffman 1 August 2011 в 16:36
поделиться