我可以基于匹配的属性值从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();
我在使用select语句时遇到了编译错误:
选择子句中表达式的类型不正确
编辑回答: 这个方法适用于我。谢谢大家。
var xElement = (from elemet in xdoc.Elements("Projects").Elements("Project")
where elemet.Attribute("projectName").Value == foundProject
select elemet);
xElement.Remove();