Этот вопрос состоит из двух частей: во-первых, мне нужно иметь возможность добавлять текст в содержимое элемента 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