从datagridview用foreach循环更新xmlnodes

时间:2019-03-03 12:00:59

标签: c# xmlnode

我正在尝试使用从datagridview提取的新数据更新XML节点。

问题在于,下面的代码仅采用最后一个值并对其进行更新。

例如,我在网格中有2行,分别带有arg1和arg.2值。当我提取它并迭代/更新xmlnode时,只有最后一行(行1)的数据在xmlfile中得到更新,而第一个数据被忽略。请告知。

public void button2_Click(object sender, EventArgs e)
{
    openFileDialog1.ShowDialog();
    XmlDocument Newdoc = new XmlDocument();
    Newdoc.Load(openFileDialog1.FileName);
    int r = 0;

    foreach (XmlNode updatenode in Newdoc.SelectNodes(".//event[@type='2VO']"))

    {

        Newdoc.SelectSingleNode(".//@Arg1").InnerText = dataGridView1.Rows[r].Cells["Arg1"].Value.ToString();
        Newdoc.SelectSingleNode(".//@Arg2").InnerText = dataGridView1.Rows[r].Cells["Arg2"].Value.ToString();

        r++;
    }
    Newdoc.Save(@"C:\Users\namokhtar\Desktop\updatednew.xml");

}

0 个答案:

没有答案