读书人

删除XML节点有关问题 急C

发布时间: 2012-03-19 22:03:04 作者: rapoo

删除XML节点问题 急!C#

XML code
<?xml version="1.0" encoding="gb2312"?><viewer interval="4000" isRandom="1">    <item title="yahooo" img="images/02.jpg" url="http://www.codepub.com/" target="_blank" />  <item title="pata" img="images/03.jpg" url="http://www.codepub.com/" target="_blank" />  <item title="music" img="images/04.jpg" url="http://www.codepub.com/" target="_blank" />  <item title="togetoge" img="images/05.jpg" url="http://www.codepub.com/" target="_blank" />  <item title="炳超" img="images/bing.jpg" url="html://www.bingchao.com" target="_blank" /></viewer>


我是要删除title的值为炳超的这行记录,移除 <item title="炳超" img="images/bing.jpg" url="html://www.bingchao.com" target="_blank" /> 。

我用下面的方法删除会留下<item />标记,我是要全部删除整行,请问怎么实现?
C# code
        xmlDoc = new XmlDocument();        xmlDoc.Load(Server.MapPath("viewerData.xml"));        XmlNodeList xnl = xmlDoc.SelectSingleNode("viewer").ChildNodes;        foreach (XmlNode xn in xnl)        {            XmlElement xe = (XmlElement)xn;            if ( xe.GetAttribute("title")== “炳超”)            {                xe.RemoveChild(xn);//删除该节点的全部内容                       break;            }        }        xmlDoc.Save(Server.MapPath("viewerData.xml"));//保存 


[解决办法]
xe.RemoveChild(xn);
改成
xe.ParentNode.RemoveChild(xn);

还有也许会有编码的问题,把你的文件保存为UTF-8,并且把
<?xml version="1.0" encoding="gb2312"?>
改成
<?xml version="1.0" encoding="UTF-8"?>



读书人网 >asp.net

热点推荐