0

How can I gather the data into c# from this xml? I get the data from :http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

PS: I would like to get the currencies rates from a web service, bu I could not find a trustworthy web service, thats why I try from xml...

  <?xml version="1.0" encoding="UTF-8" ?> 
- <gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
  <gesmes:subject>Reference rates</gesmes:subject> 
- <gesmes:Sender>
  <gesmes:name>European Central Bank</gesmes:name> 
  </gesmes:Sender>
- <Cube>
- <Cube time="2010-09-17">
  <Cube currency="USD" rate="1.3060" /> 
  <Cube currency="JPY" rate="111.98" /> 
  <Cube currency="BGN" rate="1.9558" /> 
  <Cube currency="CZK" rate="24.680" /> 
  <Cube currency="DKK" rate="7.4468" /> 
  <Cube currency="EEK" rate="15.6466" /> 
  <Cube currency="GBP" rate="0.83575" /> 
  <Cube currency="HUF" rate="282.82" /> 
  <Cube currency="LTL" rate="3.4528" /> 
  <Cube currency="LVL" rate="0.7087" /> 
  <Cube currency="PLN" rate="3.9622" /> 
  <Cube currency="RON" rate="4.2580" /> 
  <Cube currency="SEK" rate="9.2295" /> 
  <Cube currency="CHF" rate="1.3210" /> 
  <Cube currency="NOK" rate="7.9650" /> 
  <Cube currency="HRK" rate="7.2845" /> 
  <Cube currency="RUB" rate="40.4850" /> 
  <Cube currency="TRY" rate="1.9606" /> 
  <Cube currency="AUD" rate="1.3886" /> 
  <Cube currency="BRL" rate="2.2419" /> 
  <Cube currency="CAD" rate="1.3410" /> 
  <Cube currency="CNY" rate="8.7809" /> 
  <Cube currency="HKD" rate="10.1425" /> 
  <Cube currency="IDR" rate="11713.52" /> 
  <Cube currency="INR" rate="59.8530" /> 
  <Cube currency="KRW" rate="1515.90" /> 
  <Cube currency="MXN" rate="16.7075" /> 
  <Cube currency="MYR" rate="4.0512" /> 
  <Cube currency="NZD" rate="1.7940" /> 
  <Cube currency="PHP" rate="57.700" /> 
  <Cube currency="SGD" rate="1.7442" /> 
  <Cube currency="THB" rate="40.153" /> 
  <Cube currency="ZAR" rate="9.3307" /> 
  </Cube>
  </Cube>
  </gesmes:Envelope>
2
  • What do you mean with "retrieve"? Commented Sep 18, 2010 at 10:21
  • I don't get what this question has to do with JSON. Commented Sep 18, 2010 at 12:07

1 Answer 1

1

The first steps would look like:

var doc = XDocument.Load(source);
var ns = doc.Root.GetDefaultNamespace();

var topCube = doc.Root.Element(ns+"Cube");
var timeCube = topCube.Element(ns+"Cube");

string time = timeCube.Attribute("time").Value;

var cubes = from c in timeCube.Elements()
            select new 
            {  Key = c.Attribute("currency").Value, 
               Value = decimal.Parse(c.Attribute("rate").Value, CultureInfo.InvariantCulture) 
            };

And maybe convert it like this:

Dictionary<string,decimal> lookup = cubes.ToDictionary(a => a.Key, a => a.Value);
decimal dollar = lookup["USD"];
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.