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

时间:2011-08-23 19:32:53

标签: c# .net xml

我是新手,在一些XML操作中苦苦挣扎,比如open和Delete。我已经完成了添加部分。

partys.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(属性)为1的节点详细信息客户。这是什么C#代码?

问:我想删除CustomerID(属性)为2的节点客户。这是什么C#代码?

1 个答案:

答案 0 :(得分:7)

您可以尝试这样的事情:

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

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

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