Перебор элементов xml через foreach - C#
Формулировка задачи:
Есть документ xml:
Метод, для авторизации, подобным образом ищет совпадения ID и Pass:
<?xml version="1.0" encoding="utf-8"?>
<Users>
<User ID="5047036703">
<Pass>615668</Pass>
</User>
<User ID="6615722436">
<Pass>333147</Pass>
</User>
XDocument UsersData = XDocument.Load("UsersData.xml");
XElement root = UsersData.Element("Users");
foreach(XElement xe in root.Elements("User").ToList())
{
if((xe.Attribute("ID").Value == ID)&&(xe.Element("Pass").Value == Pass))
canauth = true;
else
canauth = false;
}Проблема:
Если такие ID и Pass есть в документе, и они находятся в первом элементе <User>, то совпадения не выявляются. Если они находятся во втором и более элементе <User>, всё работает.Решение задачи: «Перебор элементов xml через foreach»
textual
Листинг программы
return UsersData.XPathSelectElements($"/Users/User[@ID='{ID}']/Pass[text()='{Pass}']").Any();