将DataSet数据修改后保存到XML文件,保存后总是在XML文件中出现多余的代码,请高手指教?
将DataSet数据修改后保存到XML文件,保存后总是在XML文件中出现多余的代码,在网上也找过相关的资料,仍然没办法处理,相关代码如下:
/// <summary>
/// 客户端XML文件路径
/// </summary>
string strXmlPath = Application.StartupPath + "\\ManagerXML.xml";
/// <summary>
/// 服务器端XML文件路径
/// </summary>
string strServerXmlPath = "\\10.0.136.71\\rv.aqqis.upgrade\\ManagerXML.xml";
/// <summary>
/// 服务器端XML文件路径(备份)
/// </summary>
string strServerXmlPath_backup = "\\10.0.136.71\\rv.aqqis.upgrade\\ManagerXML_backup.xml";
private void tbcCodeTable_Click(object sender, EventArgs e)
{
if (this.tbcCodeTable.SelectedTabPage.Name == this.tbpJiaoHua.Name)
{
try
{
if (System.IO.File.Exists(strXmlPath))
{
DG_Bind(strXmlPath);
}
else
{
MessageBox.Show("请升级应用程序!");
}
}
catch (Exception ex)
{
throw ex;
}
}
}
DataSet ds;
DataView dv;
/// <summary>
/// 获取XML数据绑定
/// </summary>
/// <param name="strXmlPath">XML文件路径</param>
private void DG_Bind(string strXmlPath)
{
FileStream fs = new FileStream(strXmlPath, FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(fs);
ds = new DataSet();
ds.ReadXml(reader);
ds.Tables[0].Columns[0].ReadOnly = true;
ds.Dispose();
fs.Dispose();
fs.Close();
reader.Dispose();
reader.Close();
dv = new DataView();
dv = ds.Tables[0].DefaultView;
this.grcJiaoHua.DataSource = dv;
}
private void Save()
{
try
{
this.grvJiaoHua.FocusedRowHandle = -1;
FileStream fs = new FileStream(strXmlPath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
StreamWriter sw = new StreamWriter(fs);
sw.Write("<?xml version=" + "'" + "1.0" + "'" + " encoding=" + "'" + "gb2312" + "'" + "?>\n");
ds.WriteXml(sw);
fs.Flush();
sw.Flush();
sw.Dispose();
sw.Close();
//ds.WriteXmlSchema(sw);
ds.Dispose();
fs.Dispose();
fs.Close();
MessageBox.Show("保存成功!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
}
}
主要是保存的时候,会调用这个保存方法,不知道为什么就在XML文件中产生多余的代码,这是问题所在