修改XML文件,替换元素

时间:2015-12-04 07:56:01

标签: c# xml

我正在尝试使用这些代码在C#中修改XML文件。

    XDocument doc = XDocument.Load(@"movies.xml");
    String target = textBox1.Text;

    var node = doc.Descendants("movie").FirstOrDefault(movie => movie.Element("title").Value == target);



    node.SetElementValue("title", this.textBox1.Text);
    node.SetElementValue("year", this.comboBox1.Text);

    Console.WriteLine(node);
    doc.Save(@"movies.xml");

问题是:当我改变“年”时元素,一切都很完美。但是,当我更改我用作关键字的标题以在XML文件中搜索时。代码不会以这种方式执行。返回NULL错误。

我的XML文件:

<movielist>
  <movie>
    <title>a movie name</title>
    <year>2015</year>
  </movie>
  <movie>
    <title>Another movie name</title>
    <year>2000</year>
  </movie>
</movielist>

我该如何解决?

1 个答案:

答案 0 :(得分:0)

好的,我修好了。字符串目标应该不在函数中(比如把它放在main中)。如果没有,它将永远被覆盖。