Я создал приложение Windows Form в C#. С помощью этого приложения я загружаю XML-файл в Datagridview. Это приложение может редактировать, удалять и добавлять строки в файл XML.Удалить добавленную строку и сохранить ее в XML
Я создал вторую форму, где я могу добавить ключ и значение в моем файле XML:
private void button1_Click(object sender, EventArgs e)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(@"c:\users\khaab\documents\visual studio 2015\Projects\ReadingXML\test.xml");
XmlNode xNode = xDoc.CreateNode(XmlNodeType.Element, "add", "");
XmlAttribute xKey = xDoc.CreateAttribute("key");
XmlAttribute xValue = xDoc.CreateAttribute("value");
xKey.Value = KeyTextBox.Text;
xValue.Value = ValueTextBox.Text;
xNode.Attributes.Append(xKey);
xNode.Attributes.Append(xValue);
xDoc.GetElementsByTagName("appSettings")[0].InsertAfter(xNode,
xDoc.GetElementsByTagName("appSettings")[0].LastChild);
xDoc.Save(@"c:\users\khaab\documents\visual studio 2015\Projects\ReadingXML\test.xml");
this.Close();
}
После я добавляю эти две строки, он будет попасть в мой DataGridView, но после того, как я хочу, чтобы удалить его и попытайтесь сохранить его, строка не удаляется из файла XML.
Функция сохранения:
private void SaveChanges()
{
XmlDocument doc = new XmlDocument();
doc.Load(@"c:\users\khaab\documents\visual studio 2015\Projects\ReadingXML\test.xml");
XmlNodeList nodes = doc.DocumentElement.SelectNodes("/configuration/appSettings/add");
//doc.RemoveAll();
foreach (var item in _settings)
{
for (int i = 0; i < nodes.Count; i++)
{
if (nodes[i].Attributes[0].Value.Equals(item.Key))
{
nodes[i].Attributes[1].Value = item.Value;
}
}
}
}
Удаление функции:
private void deleteRowToolStripMenuItem_Click(object sender, EventArgs e)
{
int rowIndex = dataGridView1.CurrentCell.RowIndex;
dataGridView1.ClearSelection();
dataGridView1.DataSource = null;
_settings.RemoveAt(rowIndex);
//dataGridView1.DataSource = _settings;
BindDataGrid();
}
XML файла:
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="" value="" />
<add key="" value="" />
<add key="" value="" />
<add key="" value="" />
<add key="" value="" />
<add key="" value="" />
<add key="" value="" />
<add key="" value="" />
</appSettings>
</configuration>
Что я делаю неправильно и Что такое решение?
Спасибо за ваш ответ. У меня нет идеи, как я могу это сделать, можете ли вы помочь мне с этим примером или решением? Причина в том, что я новичок в C#. –
Пожалуйста, покажите мне содержимое вашего XML-файла. –
Я обновил сообщение с содержимым файла XML. –