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

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

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

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

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут