RDLC动态添加列后,如何清除动态添加的列?

动态显示RDLC报表发现了一个问题,每次点统计的时候前面动态添加的列不会清除。
该如何是好?

//修改报表
XmlDocument xmlDoc = ModifyRdlc();
//将修改后的rdlc文档序列化到内存流中
Stream stream = GetRdlcStream(xmlDoc);

//加载报表定义
rvDemo.LocalReport.LoadReportDefinition(stream);
rvDemo.LocalReport.ReportPath = "FirstRdlc.rdlc";

//添加数据源,rvDemo是页面上的ReportView控件
rvDemo.LocalReport.DataSources.Add(new ReportDataSource("dsStudent", dt));
rvDemo.LocalReport.Refresh();
        //序列化到内存流
private Stream GetRdlcStream(XmlDocument xmlDoc)
{
      Stream ms = new MemoryStream();
       XmlSerializer serializer = new XmlSerializer(typeof(XmlDocument));
       serializer.Serialize(ms, xmlDoc);

       ms.Position = 0;
       return ms;
}

报表的列定义在一个xsd里面,其实就是html,用删除节点的方法就可以去掉列或者加上列。