У меня есть 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);
}
Я понимаю, что описанный выше метод не работает, но я просто хотел эффективно показать, чего я пытаюсь достичь.
Любые отзывы приветствуются.
Спасибо, Джастин