Проблема в пространстве имен. Если вы можете использовать LINQ to XML, вы можете выразить этот запрос довольно легко. В противном случае, это немного сложнее - вы бы хотели что-то вроде этого:
var doc = new XmlDocument();
doc.Load(url);
XPathNavigator navigator = doc.CreateNavigator();
XmlNamespaceManager nsMgr = new XmlNamespaceManager(nav.NameTable);
nsMgr.AddNamespace("gesmes", "http://www.gesmes.org/xml/2002-08-01");
nsMgr.AddNamespace("ns0", "http://www.ecb.int/vocabulary/2002-08-01/eurofxref");
var node = doc.SelectSingleNode("//ns0:Cube[@currency=\"USD\""], nsMgr);
var value = node.Attributes["rate"].Value;
(На самом деле вам не нужно пространство имен gesmes в менеджере, но вам будет проще, если вам понадобится поискать другие элементы.)
РЕДАКТИРОВАТЬ: Питер Мюррей-Раст ответ является хорошей альтернативой здесь - какой подход вы выберете, зависит от того, насколько конкретно вы хотите, чтобы элемент мог найти. Если вам нужно только пространство имен для одного запроса, имеет смысл включить URI непосредственно в XPath; если он понадобится вам больше, вы получите более сжатые запросы с помощью менеджера пространства имен.