保存xml文件,提示“文件正由另一进程使用,因此该进程无法访问该文件”
mmuuy 2010-09-25 09:31:27 我现在做的就是生成xml文件,第一次跟第二次生成的xml文件名是一样的,目录也是一样的,第二次保存的时候就提示上面这个问题。以下是我的代码,请帮帮忙啊
//这是保存xml文件
public void bindSampleConditonCount(string condition)
{
CreateXml();
LoadXml();
try
{
XmlNode xmldocSelect = xmlDoc.SelectSingleNode("ROOT");
XmlElement el = xmlDoc.CreateElement("sampleConditonCount");
XmlElement xesub1 = xmlDoc.CreateElement("count");
int count = GetSampleConditionCount(condition);
xesub1.InnerText = count.ToString();
el.AppendChild(xesub1);
xmldocSelect.AppendChild(el);
xmlDoc.Save(xmlfullpath);第二次生成的时候这个地方就报错了,
}
catch (Exception e)
{
MessageBox.Show(e.Message.ToString());
}
}
这是创建xml文件
public void CreateXml()
{
XmlDocument xmldoc;
XmlNode xmlnode;
XmlElement xmlelem;
xmldoc = new XmlDocument();
//加入XML的声明段落
xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmldoc.AppendChild(xmlnode);
//加入一个根元素
xmlelem = xmldoc.CreateElement("", "ROOT", "");
xmldoc.AppendChild(xmlelem);
string path = Application.StartupPath + "\\temp";
Directory.CreateDirectory(path);
string fullpath = path + "\\" + "data1.xml";
//保存创建好的XML文档
xmlfullpath = fullpath;
try
{
xmldoc.Save(fullpath);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
这是加载xml文件
private void LoadXml() { xmlDoc = new XmlDocument(); xmlDoc.Load((xmlfullpath)); }