У меня сейчас есть какой-то XML, похожий на следующий
<First Node>
<Second Node>
<Third Node>
<Fourth Node>
'Lots of Children in here
</Fourth Node>
</Third Node>
</Second Node>
</First Node>
Проблема в том, что я знаю точные имена первого, второго и четвертого узлов.Однако Третий Узел может быть из очень широкого диапазона возможных имен.У меня нет возможности изменить структуру XML при его создании (он исходит от стороннего интерфейса).
Я попытался использовать linq, похожий на следующий
tempElement = (From secondElement In xmlDoc.Descendants Select XMLDoc.Element("First Node").Element("Second Node")).FirstOrDefault
Я использую это, чтобы обрезать ненужный XML.После этого у меня есть XElement с
<Second Node>
<Third Node>
<Fourth Node>
</Fourth Node>
</Third Node>
</Second Node>
Затем я использую этот оператор linq, чтобы попытаться вернуть только Fourth Node
fourthElement = tempElement.ElementsAfterSelf.FirstOrDefault
Это возвращает мне нулевое значение.Какой будет правильный linq там, или есть лучший способ сделать это?
Спасибо