我正在尝试使用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命令有关吗?
有人可以帮忙吗?
谢谢!
答案 0 :(得分:2)
x
是您查询的结果,因此它是一个Record
元素。然后,将其保存到指定路径的文件中。这具有仅使用这个元素覆盖文件的效果。
像以前一样进行更改,但更改此行:
x.Save("path");
对此:
xml.Save("path");
这将保存整个文档,而不仅仅是单个元素。