求助,我为什么删除不了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