1

我的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 中的所有条目 - 而不是我正在寻找的单个条目。我看不到问题。有人能帮帮我吗?

有人可以帮我吗?谢谢。

4

1 回答 1

2

这是因为您正在选择/Default/CareSettingName(当它包含一个Name等于时Hosp4)。

尝试将您的 xpath 更改为:

/Default/CareSettingName/Name[.='Hosp4']
于 2013-02-10T06:10:43.300 回答