How can I remove any element in xml based on matched attribute value?
Here is my 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>
I am using the following LINQ query:
var remove = from elemet in xdoc.Elements("Projects").Elements("Project")
where elemet.Attribute("projectName").Value == "project1"
select elemet.Parent.Remove();
I am getting compile time error on select as :
The type of expression in select clause is Incorrect
EDIT ANSWER: this one works for me. Thanks All
var xElement = (from elemet in xdoc.Elements("Projects").Elements("Project")
where elemet.Attribute("projectName").Value == foundProject
select elemet);
xElement.Remove();