如何将DataGRiwView的dataSet更改绑定到xml文件中的父节点

时间:2018-08-06 12:22:09

标签: c# xml winforms datagridview dataset

我有一个像这样的xml配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<config>
  <FirstNode>
    <FirstNodeChild attr="one" Path="www"  />
    <FirstNodeChild attr="two" Path="aaa"  />
    <FirstNodeChild attr="three" Path="zzz"  />
  </FirstNode>

  <SecondNode>
    <SecondNodeChild attr="one"  Path="ttt"  />
    <SecondNodeChild attr="two"  Path="yyy"  />
    <SecondNodeChild attr="three" Path="uuu"  />
  </SecondNode>
</config>

使用dataSet,我可以在dataGridView中显示所需的部分

dataset = new DataSet();         
dataset.ReadXml(//path);
MyGrid.DataSource = dataset.Tables["SecondNodeChild"];
MyGrid.AllowUserToAddrows = true;
MyGrid.AllowUserToDeleteRows = true;

我添加了一个按钮来保存所有更改:删除,创建或更新。

private void SaveChangesBtn_Click(obj sender, EventArgs e)
{
   dataset.Tables["SecondNodeChild"].AcceptChanges();
   dataset.WriteXml(//path);
}

它用于更新或删除已经存在的FirstNodeChilds。 但是当我想创建一个新行时:

...<SecondNode>
    <SecondNodeChild attr="one"  Path="ttt"  />
    <SecondNodeChild attr="two"  Path="yyy"  />
    <SecondNodeChild attr="three" Path="uuu"  />
  </SecondNode>
    <SecondNodeChild attr="four" Path="nnn"  />
</config>

是否可以将其绑定到父节点(此处为SecondNode)?

不使用xmlDocument,XmlNode,AppendChild等获取所有输入。使用另一个按钮输入文本。

0 个答案:

没有答案