LINQ to XML Как поменять значения, не используя обход? - C#
Формулировка задачи:
Всем привет. Пишу небольшой классификатор спама. С помощью LINQ создаю файл с базой слов (см. скриншот).
Вопрос 1: как поменять значения XElement'ов Spam и NoSpam, не используя цикл? Хотелось бы искать нужный элемент по атрибуту, затем обновлять значения.
Вопрос 2: есть ли какой-нибудь метод, возвращающий булевое значение: есть или нет XElement в файле? Что-нибудь похожее на List.Contains().
Решение задачи: «LINQ to XML Как поменять значения, не используя обход?»
textual
Листинг программы
using System.Xml.XPath; XElement x = XElement.Parse(@"<Dictionary> <Word value=""casino""> <Spam>1</Spam> <NoSpam>1</NoSpam> </Word> <Word value=""drug""> <Spam>1</Spam> <NoSpam>1</NoSpam> </Word> </Dictionary>"); XElement xword = x.XPathSelectElement("./Word[@value='drug']"); if (xword != null) { xword.Element("Spam").Value = "0"; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д