使用LINQ TO XML不更新属性?

时间:2012-06-04 21:09:16

标签: c# linq-to-xml

我将xml文件加载到Xelement中。然后我寻找一个名为R via的元素:

XElement elem = xmlTemplate.Descendants().Where(x => x.Name.LocalName == "R").FirstOrDefault();

然后我通过以下方式搜索EF和EX属性:

elem.Attribute("EF").SetValue(txtEffective.Text);
elem.Attribute("EX").SetValue(txtExpire.Text);

但是当我调用xTemplate.Save(...)时,它不会保存udpated属性。我也尝试过:

elem.Attribute("EF").Value = txtEffective.Text;
elem.Attribute("EX").Value = txtExpire.Text;

1 个答案:

答案 0 :(得分:0)

我发现了问题,但不确定如何避免它。当我加载XML时,我将两个属性加载到窗体上的两个文本框中。当我更改文本框中的值以更新属性时,它将使用文本框中的原始值更新xml而不是新值。我想知道这是否与在页面加载时加载文本框的事实有关,当我单击按钮时,它实际上再次加载xml并用原始值覆盖我的新值。在我没有在文本框中加载值之后,保存工作正常。