Вы уверены, что ваше представление данных использует datatable в качестве источника? Похоже, что вы используете какой-то другой объект, такой как набор данных в качестве источника.
Попробуйте
DataSet ds = new DataSet ();
ds = (DataSet) datagridview.DataSource;
ds.Tables [0] .WriteXml (xml_file, System.Data.XmlWriteMode.IgnoreSchema);