LINQ: Удалить элемент из XML на основе значения атрибута?

Как я могу удалить любой элемент в xml на основе сопоставленных значение атрибута?

Вот мой XML:

<Projects>
    <Project serverUrl="tcp://xyz1:xxx/sdfsdf.rem" projectName="project1" />
    <Project serverUrl="tcp://xyz2:xxx/sdfsdf.rem" projectName="project2" />
    <Project serverUrl="tcp://xyz3:xxx/sdfsdf.rem" projectName="project3" />
    <Project serverUrl="tcp://xyz4:xxx/sdfsdf.rem" projectName="project4" />
    <Project serverUrl="tcp://xyz5:xxx/sdfsdf.rem" projectName="project5" />
    <Project serverUrl="tcp://xyz6:xxx/sdfsdf.rem" projectName="project6" />
   </Projects>

Я использую следующий запрос LINQ:

var remove = from elemet in xdoc.Elements("Projects").Elements("Project")
                                 where elemet.Attribute("projectName").Value == "project1"
                                 select elemet.Parent.Remove();

Я получаю ошибку времени компиляции при выборе как:

Тип выражения в выборе предложение неверно

ИЗМЕНИТЬ ОТВЕТ: этот работает для меня. Спасибо всем

var xElement = (from elemet in xdoc.Elements("Projects").Elements("Project")
                            where elemet.Attribute("projectName").Value == foundProject
                            select elemet);
            xElement.Remove();
7
задан Sharif Mamun 13 April 2016 в 20:27
поделиться