将DataSet数据修改后保存到XML文件,保存后总是在XML文件中出现多余的代码,请高手指教?

ryb_cool 2008-11-03 05:27:59
将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文件中产生多余的代码,这是问题所在
...全文
104 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryb_cool 2008-11-03
  • 打赏
  • 举报
回复
保存后的数据如下:前面的节点都没有问题,就是在最后</ManagerXML>结尾处,总有一些这样的代码:

如:
ML>
还有这样的
</ManagerXML>
manager>
</ManagerXML>
ryb_cool 2008-11-03
  • 打赏
  • 举报
回复
修改前的XML文件内容如下:

<?xml version='1.0' encoding='gb2312'?>
<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>
ryb_cool 2008-11-03
  • 打赏
  • 举报
回复
万分火急,在线等!

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧