XML按属性删除子节点

时间:2012-07-16 12:54:13

标签: c# xml linq

我有一个用于我的播放器设置的xml文件。这是我的xml文件

<Player>
 <Volume Value="0,4044944" />
  <Playlist>
   <Song Path="E:\Music\Main\Chipmunk ft. Chris Brown - Champion (Explicit Version).mp3" />
    <Song Path="E:\Music\Main\Usher - More (RedOne Jimmy Joker Remix).mp3" />
 </Playlist>
  <LastPosition LastSong="" Position="" />
 </Player>

我想创建一个按钮,删除具有所选路径的节点。我有变量&#34;路径&#34;它保留了目录信息。当我把代码放入:

Doc.Descendants("Song").Where(p => p.Element("Path").Value == path).FirstOrDefault().Remove();

我收到System.NullReferenceException。你可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

应该是p.Attribute,而不是p.Element