2016-12-06 75 views
0
<Settings> 
    <List> 
     <Holder> 
     <Name>Peter</FolderName> 
     <Age>35</Age> 
     </Holder> 
     <Holder> 
     <Name>John</FolderName> 
     <Age>25</Age> 
     </Holder> 
     <Holder> 
     <Name>Micheal</FolderName> 
     <Age>45</Age> 
     </Holder> 
     <Holder> 
     <Name>Kenin</FolderName> 
     <Age>28</Age> 
     </Holder> 
    </List> 
    </Settings> 

如何去除“Kenin”持有人 以下完全代码只删除名字,但我想删除kenin 持有者完全如何删除XDocument中的XELEMENT?

  Dim e = From element In _xdoc.Descendants("Name") Where element.Value = "Kenin" Select element 
     e.Remove() 
+1

选择element.Parent? – Mino

+0

yes dats很好,我错过了一个谢谢米诺 – user707407

+0

发布它为答案 – Mino

回答

1
应为名称包装元素

选择父元素:

Dim e = From element In _xdoc.Descendants("Name") Where element.Value = "Kenin" Select element.Parent 
e.Remove() 
+0

非常感谢你 – user707407

0

怎么样,

'for testing 
    Dim xe As XElement = <Settings> 
          <List> 
           <Holder> 
            <Name>Peter</Name> 
            <Age>35</Age> 
           </Holder> 
           <Holder> 
            <Name>John</Name> 
            <Age>25</Age> 
           </Holder> 
           <Holder> 
            <Name>Micheal</Name> 
            <Age>45</Age> 
           </Holder> 
           <Holder> 
            <Name>Kenin</Name> 
            <Age>28</Age> 
           </Holder> 
          </List> 
         </Settings> 

    xe...<Name>.Where(Function(el) el.Value = "Kenin").Select(Function(el) el.Parent).Remove()