Ну вот, как и обещали, в этой статье мы углубимся в понимание технологии LINQ и попробуем удалить запись из дерева xml документа.
Напомню, что продолжали знакомиться с технологией запросов Linq to xml в статье LINQ to XML - создание и добавление данных
static bool DeletePerson(Person p)
{
bool result = false;
try
{
XDocument document = XDocument.Load("Person.xml");
XElement remove = (
from item in document.Element("PEOPLE").Elements()
where
item.Element("name").Value.ToLower()
== p.Name.ToLower()
&&
item.Element("surName").Value.ToLower()
== p.SurName.ToLower()
select item
).SingleOrDefault();
remove.Remove();
document.Save("Person.xml");
result = true;
}
catch
{ }
return result;
}
Что здесь интересного?!
Первое, это сам LINQ запрос:
from item in document.Element("PEOPLE").Elements()
where
item.Element("name").Value.ToLower() == p.Name.ToLower()
&&
item.Element("surName").Value.ToLower() == p.SurName.ToLower()
select item
Уверен, здесь вопросов пока нет, все предельно просто и ясно.
А вот метод SingleOrDefault() позволяет получить только один элемент из множества. И если в результате выборки мы получим несколько элементов, то данный метод сгенерирует исключение.
Оценить статью:
Оценивая статью, Вы подсказываете нам насколько данная информация стала
полезной именно для Вас. Мы ожидаем, прежде всего, оценку доступности материала
для понимания и простоты его изложения. Дополнительные комментари, вопросы,
дополнения и замечания Вы можете указать на странице
От Вас
Частичное, или полное копирование материала данной
статьи возможно лишь при размещении ссылки на данную страницу.