c# - 如何从 XML 中按属性删除特定节点?

标签 c# .net xml

我是新手,在某些 XML 操作(如打开和删除)方面苦苦挣扎。我已经完成了添加部分。

派对.xml

<?xml version="1.0" encoding="utf-8"?>
<Partys>
  <Customers>
    <Customer CustomerID="1">
      <PersonalName>
        <LastName>Baker</LastName>
        <FirstName>Eugene</FirstName>
      </PersonalName>
      <Citizenship>Africa</Citizenship>
    </Customer>
    <Customer CustomerID="2">
      <PersonalName>
        <LastName>Baker</LastName>
        <FirstName>Eugene</FirstName>
      </PersonalName>
      <Citizenship>Africa</Citizenship>
    </Customer>
  </Customers>
 </Partys>

问:我想打开 CustomerID (Attribute) 为 1 的节点详细信息客户。C# 代码是什么?

问:我想删除CustomerID(Attribute)为2的节点customer,这个的C#代码是什么?

最佳答案

你可以尝试这样的事情:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("Parties.xml");
XmlNode t = xmlDoc.SelectSingleNode("/Partys/Customers/Customer[@CustomerID='2']");
t.ParentNode.RemoveChild(t);
xmlDoc.Save();

一旦你有了 t,你就可以用它做任何你想做的事情,包括在控制台中显示它(通过访问各种属性)

在这里,我们已经删除了节点并保存回文件,但是您可以使用 XmlDocument 做任何您想做的事情....

关于c# - 如何从 XML 中按属性删除特定节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7166514/

相关文章:

c# - Opacity=1% 有时会出现 Win32Exception : Not enough storage is available to process this command

xml - 修改 "NodeJS"上的 XML 标签

c# - XML 节点为空时丢失

c# - 你如何处理对象类型切换?

c# - 如何将值从富文本框传递到另一个富文本框

c# - 如何查找成员变量是否为只读?

c# - 将表示为字符串的英国时间(BST 和 GMT)转​​换为 UTC(在 C# 中)

Java:如何正确地将 Windows 控制台输出转换为 XML?

c# - 从控件中转换窗口

c# - 在 asp.net 中序列化 session 状态