C# 如何删除子节点

C# 如何删除子节点,c#,xml,linq,C#,Xml,Linq,我想删除城市节点,该节点具有我从Request.QueryString[removect]中获得的值,并且位于特定用户id下,例如 代码执行了,但什么也没发生。试试这个:- 正如你们所看到的,我从城市开始,然后用它的父元素,即用户过滤你们的条件,因为x由城市元素组成,我们可以直接过滤它。现在,我使用First只获取第一个匹配元素,一旦我们有了城市节点,我们需要使用的就是移除 当然什么也没发生。您正在创建一个临时对象并从中删除内容。您没有分配它或任何东西。我如何才能实现删除相应节点的目标。equa

我想删除城市节点,该节点具有我从Request.QueryString[removect]中获得的值,并且位于特定用户id下,例如

代码执行了,但什么也没发生。

试试这个:-

正如你们所看到的,我从城市开始,然后用它的父元素,即用户过滤你们的条件,因为x由城市元素组成,我们可以直接过滤它。现在,我使用First只获取第一个匹配元素,一旦我们有了城市节点,我们需要使用的就是移除


当然什么也没发生。您正在创建一个临时对象并从中删除内容。您没有分配它或任何东西。我如何才能实现删除相应节点的目标。equals和ignore case,向我们展示更多如何读取xml和其他内容的代码。检查xmlDocument.genderantsuser.Wherex=>stringx.AttributeId==usrCookieId.Elementscity countTry这不是一个好答案。至少我是这么被告知的。对我来说,问题中的原始代码工作得很好。不需要修改。也许这些参数根本不匹配?@MatthewFrontino,但响应的作者有7.3Krep@Rahul我试过了,但没用。它刚刚执行,但已删除nothing@MatthewFrontino-是的,兄弟,请耐心等待几分钟,因为这里的每个人,包括Jon Skeet爵士,都会在发帖后更新他的答案。
<Users>
   <user Id="4/28/2015 11:29:44 PM">
    <city>Moga</city>
    <city>Rupnagar</city>
    <city>Fatehgarh Sahib</city>
</user>
  <user Id="4/29/2015 10:59:06 AM">
    <city>Bathinda</city>
    <city>Pathankot</city>
  </user>
  <user Id="4/29/2015 6:11:34 PM">
    <city>Pathankot</city>
    <city>Tarn Taran</city>

  </user>
</Users>
xmlDocument.Descendants("user").Where(x => (string)x.Attribute("Id") == usrCookieId)
 .Elements("city")
 .Where(x => (string)x.Value ==Request.QueryString["removect"]).Remove();                            
XDocument xmlDocument= XDocument.Load("YourXMLFile");
xmlDocument.Descendants("city").First(x => (string)x.Parent.Attribute("Id") == usrCookieId 
           && (string)x == Request.QueryString["removect"]).Remove();
xmlDocument.Save("YourXMLFilePath");