J'ai donc ce fichier XML que je produis, il ressemble à ceci:Trouver des éléments dans LINQ to 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>
Je peux chercher dans le fichier XML entier pour AccountName en utilisant la méthode ci-dessous, mais après qu'il arrive Comme un match, j'ai besoin d'un moyen d'obtenir ce xElements AccountNumber coorespondant pour valider son PIN (numéro de compte) est égal à celui de mon champ de texte de mot de passe.
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;
}
Comment procéder? J'ai envisagé de le retourner dans mon objet BankMember, mais j'ai besoin d'un moyen d'analyser les informations du nom d'utilisateur correspondant en premier.
BankMember newMember = new BankMember(txtBxAccountName.Text.ToString(), int.Parse(txtBxAccountNumber.Text), float.Parse(txtBxStartingBalance.Text.TrimStart('$')));
Vous savez déjà comment obtenir 'AccountName', vous pouvez obtenir' AccountNumber' exactement de la même façon: 'member.Element (" AccountNumber ") .Valeur'. – svick
De même, n'utilisez jamais float ou double pour représenter des valeurs monétaires. – svick
Mais comment puis-je trouver des éléments spécifiques AccountNumber? Je recherche dans chaque AccountName une correspondance, mais une fois que je trouve l'élément correspondant, je dois trouver son numéro de compte. – Trent