我关注XML
<Account>
<account>
<userid>4</userid>
<iban>TR600061200000012990025478</iban>
<accountno>0000012990025478</accountno>
<money>
</money>
<identityno>78546985462</identityno>
<birthdate>28.05.1986</birthdate>
<adress>İstanbul/Üsküdar</adress>
</account>
</Account>
我想在点击按钮时更新money
标记的值。这是我尝试过的
XDocument doc = XDocument.Load(@"XMLFile1.xml");
var node = doc.Descendants("Account").FirstOrDefault(personDetail => personDetail.Element("money").Value==txt.Text);
node.SetElementValue("money", this.txt.Text);
doc.Save(@"XMLFile1.xml");
答案 0 :(得分:1)
使用XDocument
解析xml字符串。找到钱XElement
并更新其价值。
public void Button1_Click(object sender, EventArgs e)
{
XDocument doc = XDocument.Load(@"XMLFile1.xml");
var result = doc.Root.Descendants("money").FirstOrDefault();
if (result == null)
return;
result.Value = txt.Text;
doc.Save(@"XMLFile1.xml");
}
修改强>
答案 1 :(得分:0)
问题在于您的情况
personDetail => personDetail.Element("money").Value==txt.Text
这只会找到文本已经等于您要应用的文本的节点。
更改文本框中的文本后,将不再有符合此条件的节点 - 并且不会应用新文本。
如果你在条件中使用!=
,它会开始变得更好。