如何使用Xdocument

时间:2017-10-19 12:21:03

标签: c# xml

我正在尝试使用C#编辑XML文档中的记录,结构如下:

<?xml version="1.0" standalone="yes"?>
<Questionnaire>
  <Record>
    <Pile>1</Pile>
    <Serno>1</Serno>
  </Record>
</Questionnaire>

我使用以下方法成功选择了记录:

SernoID=txt_Serno.Text;
XElement xml = XElement.Load("path");
XElement x = xml.Elements().Where(p => p.Element("Serno").Value.Equals(sernoID.ToString())).First();

现在,如果用户更改了winform中的任何数据,我想将其更新为我正在使用的xml文件:

x.Element("Pile").Value = txt_pile.Text;
x.Save("path");

但是,它仅保留修改后的记录,并删除所有其他现有记录。它可能与save命令有关吗?

有人可以帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

x是您查询的结果,因此它是一个Record元素。然后,将其保存到指定路径的文件中。这具有仅使用这个元素覆盖文件的效果。

像以前一样进行更改,但更改此行:

x.Save("path");

对此:

xml.Save("path");

这将保存整个文档,而不仅仅是单个元素。