如何在XML中删除节点,如果我有属性ID和值,如果节点在该专辑ID下

本文关键字:ID 节点 如果 和值 属性 专辑 删除 XML | 更新日期: 2023-09-27 18:19:33

<Albums>
  <Album ID="ankit">
    <AlbumName>Jaipur Tour</AlbumName>
    <AlbumName>Shimla Tour</AlbumName>
    <AlbumName>Andaman Tour</AlbumName>
    <AlbumName>France Tour</AlbumName>
  </Album>
  <Album ID="amit">
    <AlbumName>Goa Tour</AlbumName>
    <AlbumName>China Tour</AlbumName>
    <AlbumName>Panama Tour</AlbumName> // delete this node
    <AlbumName>Europe Tour</AlbumName>
  </Album>
</Albums>

要从相册中删除相册.xml其中给出了用户 ID 并在该用户 ID 下给出了专辑名称

var qryAlbum = from element in loadAlbum.Descendants("Album")
where (string)element.Attribute("ID") == UIDLabel.Text
select element;
qryAlbum.Descendants("Album").Elements("AlbumName").Where(x => x.Value == albumSelected).Remove();
 loadAlbum.Save(@"D:'PhotoFrame'Album.xml");

如何在XML中删除节点,如果我有属性ID和值,如果节点在该专辑ID下

您需要选择要删除的元素。

 var element = loadAlbum.Descendants("AlbumName")
                        .Where(x => x.Value == "Panama Tour" 
                         && x.Parent.Attribute("ID").Value == "amit" )
                        .FirstOrDefault();
 if (element != null)
  {
   element.Remove();
   loadAlbum.Save(@"file.xml");
  }

编辑:替换text

if (element != null)
      {
       element.Value = "New Value";
       loadAlbum.Save(@"file.xml");
      }