所以我有我生成的这个 XML 文件,它看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<Members xmlns="urn:lst-emp:emp">
<Member xmlns="">
<!--Info for Member TESTER-->
<AccountName>Test Name</AccountName>
<AccountNumber>Test Number</AccountNumber>
<AccountBalance>Test Balance</AccountBalance>
</Member>
<Member xmlns="">
<!--Info for Member Jeff Reed-->
<AccountName>Jeff Reed</AccountName>
<AccountNumber>5929</AccountNumber>
<AccountBalance>9223.01</AccountBalance>
</Member>
</Members>
我可以成功地定位元素的一部分
XElement xelement = XElement.Load(Application.LocalUserAppDataPath + "\\members.xml");
IEnumerable<XElement> members = xelement.Elements();
members.Where(x => x.Element("AccountName").Value == memberName).Select(x => x.Element("AccountNumber").Value).Single();
并将其分配给变量或其他东西,但是在更改此变量后,如何将其覆盖回 XML 文件的元素中?我已经尝试了以下没有占上风的方法。还有其他想法吗?
internal static void overwriteAccountBalance(string memberName, string newBalance)
{
XElement xelement = XElement.Load(Application.LocalUserAppDataPath + "\\members.xml");
IEnumerable<XElement> members = xelement.Elements();
members.Where(x => x.Element("AccountName").Value == memberName).Select(x => x.Element("AccountBalance").Value = newBalance);
xelement.Save(Application.LocalUserAppDataPath + "\\members.xml");
}