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

本文关键字:单个 节点 xml 删除 使用 | 更新日期: 2023-09-27 17:58:36

我的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中的所有条目,而不是我要查找的单个条目。我看不出有什么问题。有人能帮帮我吗?

有人能帮帮我吗?谢谢

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

这是因为您选择了/Default/CareSettingName(当它包含等于Hosp4Name时)。

尝试将您的xpath更改为:

/Default/CareSettingName/Name[.='Hosp4']