public DataTable SelectData(byte[] dataBytes = null) { XmlSelection selectionFromConfituration = getXmlSelection(); DataTable table = getDataTableGeneratedFromXPath(selectionFromConfituration); return(table); }
DataTable getDataTableGeneratedFromXPath(XmlSelection xmlSelection) { XElement rootElement = new XElement("Data"); List <string> keys = _inputDocument.XPathSelectElements(xmlSelection.selectionKey).Select(x => x.Value).ToList(); foreach (XElement productElement in _inputDocument.XPathSelectElements(xmlSelection.Context)) { if (!keys.Contains(productElement.Value)) { continue; } XElement selectionElement = new XElement(productElement.Name); foreach (var entry in xmlSelection.ColumnFromToNames) { createStructuredXmlGroupedByEntrys(productElement, entry, selectionElement); } rootElement.Add(selectionElement); } return(createDataTableFromMemoryStream(rootElement)); }