private static YahooDataEvent ParseXmlRequest(string symbol, XElement results) { YahooDataEvent newEvent = new YahooDataEvent(); XElement element = results.Elements("quote").First(w => w.Attribute("symbol").Value == symbol); newEvent.Symbol = element.Element("Symbol").Value; newEvent.LastTradePrice = GetDecimal(element.Element("LastTradePriceOnly").Value); newEvent.LastUpdateTime = DateTime.Now; newEvent.Ask = GetDecimal(element.Element("Ask").Value); newEvent.Bid = GetDecimal(element.Element("Bid").Value); newEvent.AverageDailyVolume = GetDecimal(element.Element("AverageDailyVolume").Value); newEvent.BookValue = GetDecimal(element.Element("BookValue").Value); newEvent.Change = GetDecimal(element.Element("Change").Value); newEvent.DividendShare = GetDecimal(element.Element("DividendShare").Value); newEvent.DividendYield = element.Element("DividendYield").Value; newEvent.LastTradeDate = GetDateTime(element.Element("LastTradeDate").Value + " " + element.Element("LastTradeTime").Value); newEvent.EarningsShare = GetDecimal(element.Element("EarningsShare").Value); newEvent.EpsEstimateCurrentYear = GetDecimal(element.Element("EPSEstimateCurrentYear").Value); newEvent.EpsEstimateNextYear = GetDecimal(element.Element("EPSEstimateNextYear").Value); newEvent.EpsEstimateNextQuarter = GetDecimal(element.Element("EPSEstimateNextQuarter").Value); newEvent.DailyLow = GetDecimal(element.Element("DaysLow").Value); newEvent.DailyHigh = GetDecimal(element.Element("DaysHigh").Value); newEvent.YearlyLow = GetDecimal(element.Element("YearLow").Value); newEvent.YearlyHigh = GetDecimal(element.Element("YearHigh").Value); newEvent.MarketCapitalization = GetDecimal(element.Element("MarketCapitalization").Value); newEvent.Ebitda = GetDecimal(element.Element("EBITDA").Value); newEvent.ChangeFromYearLow = GetDecimal(element.Element("ChangeFromYearLow").Value); newEvent.PercentChangeFromYearLow = GetDecimal(element.Element("PercentChangeFromYearLow").Value); newEvent.ChangeFromYearHigh = GetDecimal(element.Element("ChangeFromYearHigh").Value); newEvent.PercentChangeFromYearHigh = GetDecimal(element.Element("PercebtChangeFromYearHigh").Value); //missspelling in yahoo for field name newEvent.FiftyDayMovingAverage = GetDecimal(element.Element("FiftydayMovingAverage").Value); newEvent.TwoHunderedDayMovingAverage = GetDecimal(element.Element("TwoHundreddayMovingAverage").Value); newEvent.ChangeFromTwoHundredDayMovingAverage = GetDecimal(element.Element("ChangeFromTwoHundreddayMovingAverage").Value); newEvent.PercentChangeFromTwoHundredDayMovingAverage = GetDecimal(element.Element("PercentChangeFromTwoHundreddayMovingAverage").Value); newEvent.PercentChangeFromFiftyDayMovingAverage = GetDecimal(element.Element("PercentChangeFromFiftydayMovingAverage").Value); newEvent.Name = element.Element("Name").Value; newEvent.Open = GetDecimal(element.Element("Open").Value); newEvent.PreviousClose = GetDecimal(element.Element("PreviousClose").Value); newEvent.ChangeInPercent = GetDecimal(element.Element("ChangeinPercent").Value); newEvent.PriceSales = GetDecimal(element.Element("PriceSales").Value); newEvent.PriceBook = GetDecimal(element.Element("PriceBook").Value); newEvent.ExDividendDate = element.Element("ExDividendDate").Value; newEvent.PeRatio = GetDecimal(element.Element("PERatio").Value); newEvent.DividendPayDate = element.Element("DividendPayDate").Value; newEvent.PegRatio = GetDecimal(element.Element("PEGRatio").Value); newEvent.PriceEpsEstimateCurrentYear = GetDecimal(element.Element("PriceEPSEstimateCurrentYear").Value); newEvent.PriceEpsEstimateNextYear = GetDecimal(element.Element("PriceEPSEstimateNextYear").Value); newEvent.ShortRatio = GetDecimal(element.Element("ShortRatio").Value); newEvent.OneYearPriceTarget = element.Element("OneyrTargetPrice").Value; newEvent.Volume = GetDecimal(element.Element("Volume").Value); newEvent.StockExchange = element.Element("StockExchange").Value; return(newEvent); }
private static YahooDataEvent ParseXmlRequest(string symbol, XElement results) { YahooDataEvent newEvent = new YahooDataEvent(); XElement element = results.Elements("quote").First(w => w.Attribute("symbol").Value == symbol); newEvent.Symbol = element.Element("Symbol").Value; newEvent.LastTradePrice = GetDecimal(element.Element("LastTradePriceOnly").Value); newEvent.LastUpdateTime = DateTime.Now; newEvent.Ask = GetDecimal(element.Element("Ask").Value); newEvent.Bid = GetDecimal(element.Element("Bid").Value); newEvent.AverageDailyVolume = GetDecimal(element.Element("AverageDailyVolume").Value); newEvent.BookValue = GetDecimal(element.Element("BookValue").Value); newEvent.Change = GetDecimal(element.Element("Change").Value); newEvent.DividendShare = GetDecimal(element.Element("DividendShare").Value); newEvent.DividendYield = element.Element("DividendYield").Value; newEvent.LastTradeDate = GetDateTime(element.Element("LastTradeDate").Value + " " + element.Element("LastTradeTime").Value); newEvent.EarningsShare = GetDecimal(element.Element("EarningsShare").Value); newEvent.EpsEstimateCurrentYear = GetDecimal(element.Element("EPSEstimateCurrentYear").Value); newEvent.EpsEstimateNextYear = GetDecimal(element.Element("EPSEstimateNextYear").Value); newEvent.EpsEstimateNextQuarter = GetDecimal(element.Element("EPSEstimateNextQuarter").Value); newEvent.DailyLow = GetDecimal(element.Element("DaysLow").Value); newEvent.DailyHigh = GetDecimal(element.Element("DaysHigh").Value); newEvent.YearlyLow = GetDecimal(element.Element("YearLow").Value); newEvent.YearlyHigh = GetDecimal(element.Element("YearHigh").Value); newEvent.MarketCapitalization = GetDecimal(element.Element("MarketCapitalization").Value); newEvent.Ebitda = GetDecimal(element.Element("EBITDA").Value); newEvent.ChangeFromYearLow = GetDecimal(element.Element("ChangeFromYearLow").Value); newEvent.PercentChangeFromYearLow = GetDecimal(element.Element("PercentChangeFromYearLow").Value); newEvent.ChangeFromYearHigh = GetDecimal(element.Element("ChangeFromYearHigh").Value); newEvent.PercentChangeFromYearHigh = GetDecimal(element.Element("PercebtChangeFromYearHigh").Value); //missspelling in yahoo for field name newEvent.FiftyDayMovingAverage = GetDecimal(element.Element("FiftydayMovingAverage").Value); newEvent.TwoHunderedDayMovingAverage = GetDecimal(element.Element("TwoHundreddayMovingAverage").Value); newEvent.ChangeFromTwoHundredDayMovingAverage = GetDecimal(element.Element("ChangeFromTwoHundreddayMovingAverage").Value); newEvent.PercentChangeFromTwoHundredDayMovingAverage = GetDecimal(element.Element("PercentChangeFromTwoHundreddayMovingAverage").Value); newEvent.PercentChangeFromFiftyDayMovingAverage = GetDecimal(element.Element("PercentChangeFromFiftydayMovingAverage").Value); newEvent.Name = element.Element("Name").Value; newEvent.Open = GetDecimal(element.Element("Open").Value); newEvent.PreviousClose = GetDecimal(element.Element("PreviousClose").Value); newEvent.ChangeInPercent = GetDecimal(element.Element("ChangeinPercent").Value); newEvent.PriceSales = GetDecimal(element.Element("PriceSales").Value); newEvent.PriceBook = GetDecimal(element.Element("PriceBook").Value); newEvent.ExDividendDate = element.Element("ExDividendDate").Value; newEvent.PeRatio = GetDecimal(element.Element("PERatio").Value); newEvent.DividendPayDate = element.Element("DividendPayDate").Value; newEvent.PegRatio = GetDecimal(element.Element("PEGRatio").Value); newEvent.PriceEpsEstimateCurrentYear = GetDecimal(element.Element("PriceEPSEstimateCurrentYear").Value); newEvent.PriceEpsEstimateNextYear = GetDecimal(element.Element("PriceEPSEstimateNextYear").Value); newEvent.ShortRatio = GetDecimal(element.Element("ShortRatio").Value); newEvent.OneYearPriceTarget =element.Element("OneyrTargetPrice").Value; newEvent.Volume = GetDecimal(element.Element("Volume").Value); newEvent.StockExchange = element.Element("StockExchange").Value; return newEvent; }