这个问题有两个部分:首先,我需要能够添加文本到文档中的XML元素的内容,当用户点击'添加注释'按钮在我的程序中。我可以做到这一点没有问题。但是,如果用户稍后想要添加更多笔记,由于我称之为'setElementValue'方法,原始笔记将被清除。是否有替代方案,以便将注释添加到现有文本中,而不是替换现有文本?将字符串添加到XML文件而不删除现有的字符串
public static void addNote(ListViewItem file, string note)
{
int i = 0;
while (i < 20)
{
try
{
XDocument doc = XDocument.Load(Form1.CSDBpath + Form1.projectName + "\\Data.xml");
string name = file.Text;
var el = (from item in doc.Descendants("dataModule")
where item.Descendants("DMC").First().Value == name
select item).First();
if (el != null)
{
el.SetElementValue("notes", note);
}
doc.Save(Form1.CSDBpath + Form1.projectName + "\\Data.xml");
return;
}
catch
{
i++;
}
}
MessageBox.Show("Please try again in a moment, system busy (3)", "DAWS");
}
问题的第二部分:正如你可以在我的代码中看到的,我需要访问和写入存储各种信息进行大量的文件(包括应收票据按上述上述问题的一个XML数据文件)。这个xml数据文件被多个用户共享,偶尔他们的系统也试图同时访问这个文件,这显然会导致问题。我已经通过循环工作了很多次 - 让程序重复尝试打开并写入xml文件。我是否以公认的方式去解决这个问题,还是有更好的方法?
谢谢。那很简单! :)至于第二部分,我不得不考虑一下,因为我不知道如何设置它。感谢指针,但。 – Daedalus 2013-05-07 14:06:40