LINQ to XML Как поменять значения, не используя обход? - C#

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

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

Всем привет. Пишу небольшой классификатор спама. С помощью LINQ создаю файл с базой слов (см. скриншот). Вопрос 1: как поменять значения XElement'ов Spam и NoSpam, не используя цикл? Хотелось бы искать нужный элемент по атрибуту, затем обновлять значения. Вопрос 2: есть ли какой-нибудь метод, возвращающий булевое значение: есть или нет XElement в файле? Что-нибудь похожее на List.Contains().

Решение задачи: «LINQ to XML Как поменять значения, не используя обход?»

textual
Листинг программы
  1. using System.Xml.XPath;
  2.  
  3. XElement x = XElement.Parse(@"<Dictionary>
  4.     <Word value=""casino"">
  5.         <Spam>1</Spam>
  6.         <NoSpam>1</NoSpam>
  7.     </Word>
  8.     <Word value=""drug"">
  9.         <Spam>1</Spam>
  10.         <NoSpam>1</NoSpam>
  11.     </Word>
  12. </Dictionary>");
  13. XElement xword = x.XPathSelectElement("./Word[@value='drug']");
  14. if (xword != null)
  15. {
  16.     xword.Element("Spam").Value = "0";
  17. }

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


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

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

9   голосов , оценка 3.556 из 5

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

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

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