c# – I can't figure out the condition. LINQ

Question:

Find the entire value of c if value is 5.

What condition should be set?

var res = dx.Descendants(XName.Get("value"));
<a>
    <value>5</value>
    <b>
      <c>12</c>
    </b>
    <b>
      <c>13</c>
    </b>
 </a>
 <a>
    <value>6</value>
    <b>
      <c>23</c>
    </b>
    <b>
      <c>24</c>
    </b>
</a>

Should output: 12 13

Answer:

One option:

var selectedValues =
            //Выбираем узлы «a»
            document.Descendants("a")
                //у которых значение value равно "5", предполагается что value есть всегда
                .Where(a => a.Element("value").Value == "5")
                //выбираем у каждого «a» всех дочерних «c»
                .Descendants("c")
                //и у каждого «c» выбираем значение
                .Select(c => c.Value);
Scroll to Top