public static List<ReportItem> Parse(TextFieldParser parser) { List<ReportItem> reportItems = new List<ReportItem>(); while (!parser.EndOfData) { ReportItem reportItem = new ReportItem(); string[] fields = parser.ReadFields(); reportItem.Country = fields[0]; reportItem.State = fields[1]; reportItem.County = fields[2]; reportItem.City = fields[3]; reportItem.TaxType = fields[4]; reportItem.TaxRate = decimal.Parse(fields[5]); reportItem.NetSales = decimal.Parse(fields[5]); reportItem.TaxAmount = decimal.Parse(fields[6]); reportItems.Add(reportItem); } return reportItems; }
public static List<ReportItem> Parse(XDocument doc) { List<ReportItem> reportItems = new List<ReportItem>(); try { foreach (XElement taxData in doc.Descendants("TaxData")) { ReportItem reportItem = new ReportItem(); reportItem.Country = taxData.Descendants("Country").First().Value; reportItem.State = taxData.Descendants("State").First().Value; reportItem.County = taxData.Descendants("County").First().Value; reportItem.City = taxData.Descendants("City").First().Value; reportItem.TaxType = taxData.Descendants("TaxType").First().Value; reportItem.TaxRate = decimal.Parse(taxData.Descendants("TaxRate").First().Value); reportItem.NetSales = decimal.Parse(taxData.Descendants("NetSales").First().Value); reportItem.TaxAmount = decimal.Parse(taxData.Descendants("TaxAmount").First().Value); reportItems.Add(reportItem); } } catch { Console.Out.WriteLine(Properties.Settings.Default.fileFormatError); } return reportItems; }