0

我想使用元素的值从 xml 文件中删除一个节点

这是我的xml

 <Employee>
  <User>
    <ID>1</ID>
    <Username>John</Username>
    <Lastname>Smith</Lastname>
  </User>
<User>
    <ID>2</ID>
    <Username>jerry</Username>
    <Lastname>wilson</Lastname>
  </User>
</Employee>

这是我背后的代码

 XDocument doc = XDocument.Load(Server.MapPath(@"~/User.xml"));
            doc.Elements("User")
           .Elements("ID")
           .Where(l => l.Value == textbox1.text)
           .Select(x => x.Parent)
           .Remove();    

我想删除在文本框中输入但它不起作用的<user>节点。<id>你能帮助我吗?

4

1 回答 1

0

添加doc.Root属性或doc.Descendants("User")返回后代元素的过滤集合:

1.

doc.Root.Elements("User")
           .Elements("ID")
           .Where(l => l.Value == textbox1.text)
           .Select(x => x.Parent)
           .Remove();

2.

 doc.Root.Elements("User")
            .Where(p => p.Element("ID").Value == textbox1.text)
            .Remove();
 doc.Save(Server.MapPath(@"~/User.xml"));
于 2012-08-16T04:15:08.623 回答