internal override List <Dictionary <ColumnDefinition, object> > GetPlainData(object context) { var result = new List <Dictionary <ColumnDefinition, object> >(); var document = GetSourceDocument(context); XPathNavigator currentElement = null; var navigator = document.CreateNavigator(); var iterator = navigator.Select(XPathExpression.Compile(PathToItems)); currentElement = iterator.OfType <XPathNavigator>().FirstOrDefault(); if (currentElement != null) { var historyElements = currentElement.Select(ItemTag) .Cast <XPathNavigator>().ToList(); foreach (XPathNavigator historyElementNew in historyElements) { XmlElement xmlElement = historyElementNew.UnderlyingObject as XmlElement; Dictionary <ColumnDefinition, object> row = new Dictionary <ColumnDefinition, object>(); foreach (XmlFileTableSourceItem column in this._columns) { var elData = xmlElement[column.Tag]; if (elData != null) { var value = ParameterValue.GetValue(elData.InnerXml, false, column.Type); if (value == DBNull.Value) { value = null; } row.Add(column, value); } } result.Add(row); } } return(result); }