c# - 删除 xml 节点 -Xelement

标签 c# xml linq-to-xml

我有一个 xml 文件,只有特定的节点必须从中删除。节点名称将作为用户的输入给出。如何删除用户请求的特定节点?

<Customers>    
  <Customer>    
    <id>michle</id>
    <address>newjersy</address>    
  </Customer>    
  <Customer>    
    <id>ann</id>
    <address>canada</address>    
  </Customer>
</Customers>

我试过了

var customer = new XElement("customer",
      from o in customers
      select 
          new XElement("id", id),
          new XElement("address", address)
        );

客户将包含一个新节点

<Customer>    
  <id>ann</id>
  <address>canada</address>    
</Customer>

doc.Element("customers").Elements(customer).ToList().Remove();

但这行不通。如何从 xml 中删除元素?

最佳答案

汤姆,

试试这个……

private static void RemoveNode(string sID)
    {
        XDocument doc = XDocument.Load(@"D:\\Projects\\RemoveNode.xml");

        var v = from n in doc.Descendants("Customer")
                     where n.Element("id").Value == sID
                     select n;
        v.Remove();
        doc.Save(@"D:\\Projects\\RemoveNode.xml");
    }

当我使用

调用它时,这删除了一个节点
RemoveNode("michle");

希望这对您有所帮助。

关于c# - 删除 xml 节点 -Xelement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42196598/

相关文章:

c# - GridView 不显示所有行

android - 创建多行编辑文本并滚动 Activity View

java - Android Textview 资源未找到

c# - 使用 LINQ 读取 XML 时防止重复元素访问

c# - StyleCop 使用 XDocument/XElement/XAttribute 愉快地创建 Xml

F# XLinq 遍历 - 柯里化(Currying)版本的函数抛出 StackOverflowException

c# - 如何使用 stackexchange.redis 从多个键中获取所有哈希元素

c# - 打印机属性对话框保存的更改

c# - 如何在条款查询(ElasticSearch NEST C#)中添加条款?

java - Java 中极慢的 XSLT 转换