Example #1
0
        private static void ExtractFromTraidingDetailsRoot(EtfConverter etfConverter, XElement root)
        {
            //structure: exchange               | exchange code |  currency trading | Bloomberg code
            //           London Stock Exchange  |ISPY,          | GBP               | ISPY 
            //           Borsa Italiana         |ISPY,          | EUR               | LN
            //           Deutsche Börse         |USPLY          | EUR               | ISPY IM
            var exchange = new StringBuilder();
            var exchangeCode = new StringBuilder();
            var currencyTrading = new StringBuilder();
            var bloombergCode = new StringBuilder();

            foreach (var tr in root.Descendants("tr"))
            {
                var tds = tr.Descendants("td");
                var xElements = tds as IList<XElement> ?? tds.ToList();
                if (xElements.Count < 4)
                    continue;

                exchange.AppendFormat("{0}, ", xElements[0].Value);
                exchangeCode.AppendFormat("{0}, ", xElements[1].Value);
                currencyTrading.AppendFormat("{0}, ", xElements[2].Value);
                bloombergCode.AppendFormat("{0}, ", xElements[4].Value);

            }

            etfConverter.SetProperty("Exchange", exchange.ToString());
            etfConverter.SetProperty("Exchange Code", exchangeCode.ToString());
            etfConverter.SetProperty("Currency (trading)", currencyTrading.ToString());
            etfConverter.SetProperty("Bloomberg Code", bloombergCode.ToString());

        }