private void ExportColumns([NotNull] XmlTextWriter output, [NotNull] QueryAnalyzer.ResultDataTable dataTable) { Debug.ArgumentNotNull(output, nameof(output)); Debug.ArgumentNotNull(dataTable, nameof(dataTable)); foreach (var column in dataTable.Columns) { var dataColumn = (DataColumn)column; output.WriteStartElement(@"column"); output.WriteAttributeString(@"name", dataColumn.ColumnName); output.WriteEndElement(); } }
private void ExportRows([NotNull] XmlTextWriter output, [NotNull] QueryAnalyzer.ResultDataTable dataTable) { Debug.ArgumentNotNull(output, nameof(output)); Debug.ArgumentNotNull(dataTable, nameof(dataTable)); foreach (QueryAnalyzer.ResultDataRow dataRow in dataTable.Rows) { output.WriteStartElement(@"row"); if (dataRow.ItemUri != ItemUri.Empty) { output.WriteAttributeString(@"id", dataRow.ItemUri.ItemId.ToString()); output.WriteAttributeString(@"language", dataRow.Language); } for (var index = 0; index < dataRow.ItemArray.Length; index++) { output.WriteStartElement(@"value"); var fieldUri = dataRow.FieldArray[index]; if (fieldUri != null) { output.WriteAttributeString(@"id", fieldUri.FieldId.ToString()); } var value = dataRow.ItemArray[index]; if (value != null) { output.WriteValue(value.ToString()); } output.WriteEndElement(); } output.WriteEndElement(); } }