Атрибут кондиционирования Linq to XML

Это мой xml

<DataSet xmlns="http://www.bnr.ro/xsd" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.bnr.ro/xsd nbrfxrates.xsd">
    <Header>
        <Publisher>National Bank of Romania</Publisher>
        <PublishingDate>2016-03-24</PublishingDate>
    <MessageType>DR</MessageType>
    </Header>
    <Body>
        <Subject>Reference rates</Subject>
        <OrigCurrency>RON</OrigCurrency>
        <Cube date="2016-03-24">            
            <Rate currency="EUR">4.4655</Rate>          
        </Cube>
        <Cube date="2016-03-23">                
            Rate currency="EUR">4.4641</Rate>               
        </Cube>
    </Body>
</DataSet>

Я хочу проверитькуб атрибутДата получить значение евро со вчерашней даты.

Например, если сегодня 2016-03-24 я хочу получить значение4,4641 с 2016-03-23.

Я пробовал с LINQ to XML

    string date_yesterday = DateTime.Now.AddDays(-1).Date.ToString("yyyy-MM-dd");
XElement root = XElement.Parse(sbXmlText.ToString());
                IEnumerable<XElement> adress =
                    from el in root.Descendants("Cube")
                    let z = el.ElementsAfterSelf().FirstOrDefault()
                    where z != null && (string)el.Attribute("date") == date_yesterday
                    select el;
                foreach (XElement el in adress)
                    Console.WriteLine(el);

И попробовал

string date_yesterday = DateTime.Now.AddDays(-1).Date.ToString("yyyy-MM-dd");

             XElement root = XElement.Parse(sbXmlText.ToString());
             IEnumerable<XElement> adress =
                 root.Descendants("Cube").Where(r => r.Attribute("date").Value == date_yesterday);                    
             foreach (XElement el in adress)
                 Console.WriteLine(el);

И он возвращает каждый раз, когда ноль

Ответы на вопрос(1)

Ваш ответ на вопрос