C#XDocument - 将值添加到现有xml

时间:2015-10-11 21:57:37

标签: c# xml

这就是我正在使用的

private void dir_TextBox_TextChanged(object sender, EventArgs e)
{
        string _DIR = dir_TextBox.Text.ToString();dir
        XDocument _config = XDocument.Load(@"/ProgramData\app\appConfig.xml");
        _config.Root.Element("root").Element("node1").Add(new XElement("value", _DIR));          
        _config.Save(@"/ProgramData\app\appConfig.xml");
}

我有一个xml

<root>
  <node1>
    <value></value>
  </node1>
</root>

并想添加

<root>
  <node1>
    <value>a string</value>
  </node1>
</root>

我已经尝试了几种方法来执行此操作,但一直收到错误&#34;其他信息:对象引用未设置为对象的实例。&#34;

任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:2)

_config.Root已经获得&#34; root&#34;元件。 而且你必须为现有元素设置(更新)一个新值(&#34;一个字符串&#34;),&#34; value&#34;因为你的xml文件已经有&#34;值&#34;元件。

private void dir_TextBox_TextChanged(object sender, EventArgs e)
{
        XDocument _config = XDocument.Load(@"/ProgramData\app\appConfig.xml");
        _config.Root.Element("node1").Element("value").Value = "a string";          
        _config.Save(@"/ProgramData\app\appConfig.xml");
}