LINQ to XML - поиск по атрибуту - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте хотелось бы попросить помощи в одном вопросе. Есть XML файл, записываю в него данные так:
 XDocument doc = new XDocument(new XElement("Save", 
                        new XElement("profile", 
                        new XAttribute("name",textBox1.Text ),
                        new XAttribute("password",textBox2.Text))));
Файл сам получается таким:
<Save>
  <profile name="34" password="123">
    <passwords>34</passwords>
  </profile>
</Save>
Хотелось бы узнать, как сделать проверку profile на определенное значение атрибута name. Задача состоит в том, чтобы узнать, есть ли такой элемент со значением тэга name. Через элементы делать просто, но вот если переименовывать все XElement на XAttribute, то вылетает ошибка в том, что не удается преобразовать тип. Вот поиск через XElement
IEnumerable<XElement> profiles = doc.Root.Descendants("profile").Where(t => t.Attribute("name").Value == textBox1.Text).ToList();
                    foreach (XElement t in profiles)
                        f = false;
Всем спасибо за помощь.

Решение задачи: «LINQ to XML - поиск по атрибуту»

textual
Листинг программы
using System.Xml.XPath;
 
var profiles = doc.Root.XPathSelectElements("/Save/profile[@name='34']");

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4 из 5