C# 从具有属性和命名空间的XML中删除节点

C# 从具有属性和命名空间的XML中删除节点,c#,xml,xml-parsing,C#,Xml,Xml Parsing,我有下一个XML文件 您可以尝试以下方法: <files> <mainFile num="333"> </mainFile> <mainFile num="444"> </mainFile> <mainFile num="555"> </mainFile> <mainFile num="666"> <TLL> <TLL>

我有下一个XML文件


您可以尝试以下方法:

<files>
    <mainFile num="333"> </mainFile> 
    <mainFile num="444"> </mainFile>
    <mainFile num="555"> </mainFile>
    <mainFile num="666">
     <TLL>
     <TLL>
    </mainFile>
 </files>
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);

    XmlNodeList nodeList;
    XmlNode root = doc.DocumentElement;

    nodeList=root.SelectNodes("descendant::mainFile");

foreach (XmlNode n in nodeList)
    {
      XmlNodeList des = n.SelectNodes("descendant::DE");
      foreach (XmlNode de in nodeList)
      {
        de.ParentNode.RemoveChild(de); 

      }     
    }

是的,有几种方法。你已经试过什么了吗?除了暗示为我写这个以外还有什么问题吗?是的,我试过了,我添加了我尝试的基本内容,你尝试的代码的实际错误/输出是什么?让我猜猜,这可能和暑假有关吗;暑假什么
            var xmlString = XElement.Parse(xmlString);
            xmlString.XPathSelectElements("//DE").Remove();

xmlString .Element("DE").Remove();
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);

    XmlNodeList nodeList;
    XmlNode root = doc.DocumentElement;

    nodeList=root.SelectNodes("descendant::mainFile");

foreach (XmlNode n in nodeList)
    {
      XmlNodeList des = n.SelectNodes("descendant::DE");
      foreach (XmlNode de in nodeList)
      {
        de.ParentNode.RemoveChild(de); 

      }     
    }