所以我有我生成的这个 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>
我可以使用下面的方法在整个 XML 中搜索 AccountName,但是在匹配后,我需要一种方法来获取相应的 xElements AccountNumber 来验证它的 PIN(帐号)是否等于我的密码文本框中的那个.
internal static bool userExists(String validationName)
{
bool foundUser = false;
//check for a name
XElement xelement = XElement.Load(Application.LocalUserAppDataPath + "\\members.xml");
IEnumerable<XElement> members = xelement.Elements();
foreach (var member in members)
{
if (member.Element("AccountName").Value == validationName)
{
//MessageBox.Show("It's a match.");
foundUser = true;
return foundUser;
}
else
{
//MessageBox.Show("No match found.");
}
}
return foundUser;
}
我该怎么做呢?我已经考虑将其转回我的 BankMember 对象,但我需要一种方法来首先解析来自匹配用户名的信息。
BankMember newMember = new BankMember(txtBxAccountName.Text.ToString(), int.Parse(txtBxAccountNumber.Text), float.Parse(txtBxStartingBalance.Text.TrimStart('$')));