Es gibt einen Standardnamespace http://www.ecb.int/vocabulary/2002-08-01/eurofxref
, den Sie registrieren müssen, um auf das Element Cube
zuzugreifen.
Andernfalls versucht der XPath-Ausdruck ein un-Namens-Cube
-Element zu finden, das nicht im Dokument vorhanden ist. XPath hat kein Konzept für einen Standardnamespace.
string url = @"http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(url);
XmlNamespaceManager manager = new XmlNamespaceManager(xmlDoc.NameTable);
manager.AddNamespace("gesmes", "http://www.gesmes.org/xml/2002-08-01");
manager.AddNamespace("default", "http://www.ecb.int/vocabulary/2002-08-01/eurofxref");
XmlNodeList nodes = xmlDoc.SelectNodes("/gesmes:Envelope/default:Cube", manager);
dies das Cube
Kind unter direkt die gesmes:Envelope
zugreifen. Je nachdem, was Sie erreichen möchten, können Sie stattdessen einen der folgenden XPath-Ausdrücke verwenden:
/gesmes:Envelope/default:Cube/default:Cube/default:Cube
/gesmes:Envelope//default:Cube[@currency]
/gesmes:Envelope//default:Cube[@time]/default:Cube