使用c#删除xml中的单个节点

时间:2013-02-10 06:02:34

标签: c# .net xml

我的xml文件如下:

   <Default>
      <CareSettingName>
         <Name>Hosp1/Name>
         <Name>Hosp2/Name>
         <Name>Hosp3/Name>
         <Name>Hosp4/Name>
       </CareSettingName>
      <DocNames>
         <Name>Doc1/Name> 
         <Name>Doc2/Name> 
         <Name>Doc3/Name> 
        </DocNames>
    </Default>

使用以下代码我尝试删除Hosp4:

 XmlDocument xmlDoc = new XmlDocument();
 xmlDoc.Load(localXMLfile);
 XmlNode node = xmlDoc.SelectSingleNode("/Default/CareSettingName[Name='Hosp4']");

 node.ParentNode.RemoveChild(node);
 xmlDoc.Save(localXMLfile);

当我运行它时,它会删除CareSettingName中的所有条目 - 而不是我要查找的单个条目。我看不出发现问题。有人可以帮帮我吗?

有人可以帮帮我吗?感谢。

1 个答案:

答案 0 :(得分:2)

这是因为您选择了/Default/CareSettingName(当它包含等于Name的{​​{1}}时。

尝试将xpath更改为:

Hosp4