将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文件中产生多余的代码,这是问题所在
/// <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文件中产生多余的代码,这是问题所在
解决方案 »
- C#初学者有问
- 求一个二维数组的地铁票价查询系统代码,急!!!!!分少,不过希望能帮帮我!
- datgridview控件combobox联动出现DataGridViewComboBoxCell值无效的问题。
- [高分]怎么判断一个程序是否已经安装?
- 小问题 100求救 如何让数据库中的数据 显示在PictureBoX上?大家帮忙啊 急啊
- winform中treeview问题
- 在datalist里绑定多个dropdownlist,怎么能够选择一个触发另一个呢,实现联动效果
- 如何 编写 c# 的泛型函数
- datagrid如何把某一些单元格设置为只能看,不能该,不是全部不能该。
- 利用C#写C/S程序的问题?
- 急救,各位弟兄,帮帮忙,注册表问题,
- 如何在网页的.CS文件中切换数据源
<ManagerXML>
<manager>
<产品编码>5310000001</产品编码>
<物料名称>自产冶金焦</物料名称>
<主副产品标识>主产品</主副产品标识>
<一炼焦车间单炉重量>14.8</一炼焦车间单炉重量>
<二炼焦车间单炉重量>14.8</二炼焦车间单炉重量>
<三炼焦车间单炉重量>14.8</三炼焦车间单炉重量>
<四炼焦车间单炉重量>22.6</四炼焦车间单炉重量>
<年产量系数>0</年产量系数>
<年产比例>0</年产比例>
<维护人员>ryb</维护人员>
</manager>
<manager>
<产品编码>5310000002</产品编码>
<物料名称>焦粒</物料名称>
<主副产品标识>副产品</主副产品标识>
<一炼焦车间单炉重量>14.8</一炼焦车间单炉重量>
<二炼焦车间单炉重量>14.8</二炼焦车间单炉重量>
<三炼焦车间单炉重量>14.8</三炼焦车间单炉重量>
<四炼焦车间单炉重量>22.6</四炼焦车间单炉重量>
<年产量系数>0</年产量系数>
<年产比例>0.015</年产比例>
<维护人员>ryb</维护人员>
</manager>
<manager>
<产品编码>5310000003</产品编码>
<物料名称>焦粉</物料名称>
<主副产品标识>副产品</主副产品标识>
<一炼焦车间单炉重量>14.8</一炼焦车间单炉重量>
<二炼焦车间单炉重量>14.8</二炼焦车间单炉重量>
<三炼焦车间单炉重量>14.8</三炼焦车间单炉重量>
<四炼焦车间单炉重量>22.6</四炼焦车间单炉重量>
<年产量系数>0</年产量系数>
<年产比例>0.045</年产比例>
<维护人员>ryb</维护人员>
</manager>
<manager>
<产品编码>5310000006</产品编码>
<物料名称>轻苯</物料名称>
<主副产品标识>副产品</主副产品标识>
<一炼焦车间单炉重量>14.8</一炼焦车间单炉重量>
<二炼焦车间单炉重量>14.8</二炼焦车间单炉重量>
<三炼焦车间单炉重量>14.8</三炼焦车间单炉重量>
<四炼焦车间单炉重量>22.6</四炼焦车间单炉重量>
<年产量系数>0.94</年产量系数>
<年产比例>0.0123</年产比例>
<维护人员>ryb</维护人员>
</manager>
<manager>
<产品编码>5310000005</产品编码>
<物料名称>煤焦油</物料名称>
<主副产品标识>副产品</主副产品标识>
<一炼焦车间单炉重量>14.8</一炼焦车间单炉重量>
<二炼焦车间单炉重量>14.8</二炼焦车间单炉重量>
<三炼焦车间单炉重量>14.8</三炼焦车间单炉重量>
<四炼焦车间单炉重量>22.6</四炼焦车间单炉重量>
<年产量系数>0.94</年产量系数>
<年产比例>0.046</年产比例>
<维护人员>ryb</维护人员>
</manager>
<manager>
<产品编码>5310000007</产品编码>
<物料名称>硫酸铵</物料名称>
<主副产品标识>副产品</主副产品标识>
<一炼焦车间单炉重量>14.8</一炼焦车间单炉重量>
<二炼焦车间单炉重量>14.8</二炼焦车间单炉重量>
<三炼焦车间单炉重量>14.8</三炼焦车间单炉重量>
<四炼焦车间单炉重量>22.6</四炼焦车间单炉重量>
<年产量系数>0.94</年产量系数>
<年产比例>0.0155</年产比例>
<维护人员>ryb</维护人员>
</manager>
<manager>
<产品编码>5500000008</产品编码>
<物料名称>77</物料名称>
<主副产品标识>副产品</主副产品标识>
<一炼焦车间单炉重量>14.8</一炼焦车间单炉重量>
<二炼焦车间单炉重量>14.8</二炼焦车间单炉重量>
<三炼焦车间单炉重量>14.8</三炼焦车间单炉重量>
<四炼焦车间单炉重量>22.6</四炼焦车间单炉重量>
<年产量系数>0</年产量系数>
<年产比例>320</年产比例>
<维护人员>ryb</维护人员>
</manager>
</ManagerXML>
ML>
还有这样的
</ManagerXML>
manager>
</ManagerXML>