我添加一个XML 节点时 总是自动加这个xmlns属性
xe.RemoveAttribute("xmlns");也没删除 ,怎么不加呢?

解决方案 »

  1.   

    //先建立一个XML DOM
                    XmlDocument doc = new XmlDocument();
                    //读入XML文件
                    doc.Load(".\\Config\\Services.config");
                    //建立一个节点。
                    XmlElement newService = doc.CreateElement("Service");                //建立一个Name属性,并将次属性放置在接点 “newService” 下
                    XmlAttribute newName = doc.CreateAttribute("Name");
                    newName.InnerText = "abc";
                    newService.SetAttributeNode(newName);
                    //保存
                    doc.DocumentElement.FirstChild.AppendChild(newService);
                    doc.Save(".\\Config\\Services.config");这是添加的代码  
    删除代码XmlNodeList nodeList = doc.GetElementsByTagName("Services");                //遍历所有子节点
                     foreach (XmlNode xn in nodeList)
                     {
                        
                         foreach (XmlNode cxm in xn.ChildNodes)
                         {
                             XmlElement xe = (XmlElement)cxm;
                             xe.RemoveAttribute("xmlns");
                         }
                     }
      

  2.   

    我跑了你的Source没有问题
    你删除后没有保存~~~~~
      

  3.   

    呵呵 我怎么删除不了呢 保存了
    ....                doc.DocumentElement.FirstChild.AppendChild(newService);
                    //保存
                    XmlNodeList nodeList = doc.GetElementsByTagName("Services");
                    //遍历所有子节点
                    foreach (XmlNode xn in nodeList)
                    {                    foreach (XmlNode cxm in xn.ChildNodes)
                        {
                            XmlElement xe = (XmlElement)cxm;
                            xe.RemoveAttribute("xmlns");
                        }
                    }
                    doc.Save(".\\Config\\Services.config");
      

  4.   

    lovefootball 你忙吗?帮我再看下
    谢谢
      

  5.   

    你把你的XML文件贴上来
    我添加节点的时候没有xmlns
      

  6.   

    <?xml version="1.0" encoding="utf-8"?>
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
      <Services>
        <Service Name="abc" xmlns="" />
      </Services>
    </configuration>和<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 是不有关呢
      

  7.   

    xmlns 是保留字,是命名空间,不是属性
      

  8.   


    是你命名空间的问题doc.DocumentElement.FirstChild.AppendChild(newService);
    --〉
    doc.DocumentElement.FirstChild.InnerXml += newService.OuterXml;不要直接AppendChild
    这样就不会把命名空间加上去了