这就是我正在使用的
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;
任何帮助将不胜感激。 感谢。
答案 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");
}