未通过调试,一直提示没有父节点,不知道是怎么回事。下面给出详细代码:

 

//xml文件路径
string ConfigFilePath = AppDomain.CurrentDomain.BaseDirectory + "Profile.config";
//初始化XElement对象
XElement rootNodes = XDocument.Load(ConfigFilePath).Root;
rootNodes
.Elements("add") //查询根节点下所有add子节点
.Where(
el =>
el.Attribute("value").Value //Where方法中用于筛选复核条件的节点
.Equals("d"))
.First() //可以实现只删第一条
.Remove();//删除节点
//实现删除查询结果中指定索引的一个节点可以如下实现:
rootNodes
.Elements("add") //查询根节点下所有add子节点
.Where(
el =>
el.Attribute("value").Value //Where方法中用于筛选复核条件的节点
.Equals("d"))
.Skip(10)  //跳过指定的条数,这里可以实现删除指定的某一个节点
.First()   //跳过指定条数后获取剩余的第一个节点
.Remove(); //删除节点
rootNodes.Save(ConfigFilePath);//保存到文件

  了解了LINQ才发现,这个功能确实很强大。