使用 XDocument 更新特定 XML 标记的特定值
Update Specific value of specific XML tag using XDocument
我关注了 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");
使用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");
}
编辑
问题出在你的情况
personDetail => personDetail.Element("money").Value==txt.Text
这只会找到文本已经等于您要应用的文本的节点。
更改文本框中的文本后,将不再有符合此条件的节点 - 并且不会应用新文本。
如果你在条件中使用!=
,它会开始变得更好。
我关注了 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");
使用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");
}
编辑
问题出在你的情况
personDetail => personDetail.Element("money").Value==txt.Text
这只会找到文本已经等于您要应用的文本的节点。
更改文本框中的文本后,将不再有符合此条件的节点 - 并且不会应用新文本。
如果你在条件中使用!=
,它会开始变得更好。