【问题标题】:delete a node in xml using linq to xml使用 linq to xml 删除 xml 中的节点
【发布时间】:2012-08-16 03:58:45
【问题描述】:

我想使用元素的值从 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();    

我想删除在文本框中输入了&lt;id&gt;&lt;user&gt; 节点 但它不工作。 你能帮帮我吗?

【问题讨论】:

    标签: asp.net xml linq-to-xml


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      • 1970-01-01
      相关资源
      最近更新 更多