当前位置:编程学习 > C#/ASP.NET >>

求助,我为什么删除不了XML节点

各位老大请指教,我的XML文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<document>
  <webSite>www.gxtv.cn</webSite>
  <webMaster>gxtvc217@163.com</webMaster>
  <updatePeri>15</updatePeri>
  <item>
    <link>链接地址</link>
  </item>
  <item>
    <link>链接地址</link>
  </item>
 </document>

我的LINQ代码如下:
string NowHost = HttpContext.Current.Request.Url.Host;//获取当前域名
                    XElement xelem = XElement.Load(@"http://" + NowHost+"/xml/ycxw.xml");//读取xml文档
                    
                    var XmlItem = from item in xelem.Descendants("item")
                                  select item;
                    int ItemNum = XmlItem.Count();//计算XML中节点的总数
                    Response.Write(ItemNum);
                    if (ItemNum == 2)//如果数量等于2就删除最后一条
                    {
                        var XmlDel = XmlItem.Reverse().Take(1);//读取最后一条
                        XmlDel.Remove();
                    }

我想要删除最后面的
<item>
    <link>链接地址</link>
  </item>

请问,我的代码为什么无法删除?要怎么修改? --------------------编程问答-------------------- 晕倒,我忘记保存了

这个CSDN太假了,明明没人回答,都不给删除的,浪费我的积分
进来领分吧 --------------------编程问答-------------------- 接分,谢谢! --------------------编程问答-------------------- 还吧,我来接分 --------------------编程问答-------------------- 来接分 --------------------编程问答-------------------- jf
--------------------编程问答-------------------- XmlDel.Remove(); 
修改成XmlNode node = (XmlNode )XmlDel ; node.ParentNode.RemoveChild(node); --------------------编程问答-------------------- --------------------编程问答-------------------- 应lz的邀请,接分 --------------------编程问答-------------------- --------------------编程问答-------------------- 楼主代码没有问题,我要机子上测试了一下,是可以删除的

        static void Main(string[] args)
        {
            XElement xelem = XElement.Load(@"../../Info2.xml");
            var XmlItem = from item in xelem.Descendants("item")
                          select item;
            int ItemNum = XmlItem.Count();
            if (ItemNum == 2)
            {
                var XmlDel = XmlItem.Reverse().Take(1);
                XmlDel.Remove();
            }
            Console.WriteLine(xelem);
        }


结果是:
<document>
  <webSite>www.gxtv.cn </webSite>
  <webMaster>gxtvc217@163.com </webMaster>
  <updatePeri>15 </updatePeri>
  <item>
    <link>链接地址1 </link>
  </item>
</document>
请按任意键继续. . .
--------------------编程问答-------------------- 哈哈,领分来了 --------------------编程问答-------------------- 还好看了1楼的回复要不然就写上楼主已经知道的答案了。
补充:.NET技术 ,  LINQ
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,