The way you structured your xml makes sense from an xml perspective,
but it requires parent references based on the way you have to set up
the loop xpath. Parent references aren't allowed when the load method
is set to streaming, which is the default, which is what allows any
size xml file to be parsed normally. I'm assuming loading your entire
file into memory won't be an issue based on the content.
using (XmlRecordReader reader = new XmlRecordReader(@"C:\Temp
\tables.xml", "Schema/Table/Column", LoadMethod.InMemory)){
reader.Columns.Add("../TableName", "TableName");
reader.Columns.Add("ColumnName", "Column Name");
reader.Columns.Add("Type", "Column Type");
reader.Columns.Add("Length", "Column Size");
dataGrid1.DataSource = reader.ReadToEnd();}
Bruce Dunwiddie