簡體   English   中英

如果我具有屬性ID,並且如果該相冊ID下的節點具有值,則如何刪除XML中的節點

[英]How to delete a node in XML, if I have attribute ID and value if node under that album ID

<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>

要從提供了用戶名並在該用戶名下提供了專輯名稱的album.xml中刪除專輯

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");

您需要選擇要刪除的元素。

 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");
      }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM