Перебор элементов 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д