/ / Pobieranie elementu rodzicielskiego xml - xml, xelement

Pobieranie elementu xml dla rodzeństwa - xml, xelement

Mam zestaw elementów XML, które są rodzeństwem

<z>1</z>
<b>1</b>
<w>1</w>
<n>1</n>
<e>1</e>
<v>1</v>

XElement y wskazuje obecnie Element e. Chcę teraz spojrzeć na Element b.

Kod

var y = e.ElementsBeforeSelf("b");

zwraca kolekcję tylko elementem b.

Oczywiście teraz muszę zwrócić tylko singielelement b. Nie zawsze jestem pewien, że Element b będzie stałą liczbą elementów powyżej e. Brakuje mi tutaj czegoś naprawdę oczywistego, ponieważ nie byłem w stanie przyjrzeć się wielu dobrym artykułom, aby to zrozumieć.

Rzeczy, których próbowałem:

var y = e.ElementsBeforeSelf().First().Element("b");
var y = e.ElementsBeforeSelf("b").Element("b");
var y = e.ElementsBeforeSelf().Single().Element("b");
var y = e.ElementsBeforeSelf().Single(x=>x.Name=="b").Element("b");

Jak wybrać i zwrócić tylko pojedynczy element b, zaczynając od elementu e?

Odpowiedzi:

2 dla odpowiedzi № 1
var y = e.ElementsBeforeSelf("b").First();

0 dla odpowiedzi nr 2

W VB byłoby to

    "y has element e
Dim b As XElement
b = y.Parent.<b>.SingleOrDefault

Wersja C # powinna być podobna.