首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

在C#里剔除XML节点

2011-12-10 
在C#里删除XML节点??xmlversion 1.0 encoding gb2312 ?contactpersonname x /namenumber

在C#里删除XML节点?
<?xml   version= "1.0 "   encoding= "gb2312 "?>
<contact>  
  <person>
        <name> x </name>
        <number> 12344556 </number>
        <email> poiuyt </email>
        <ct> lkjhg </ct>
    </person>
    <person>
        <name> wsx </name>
        <number> edc </number>
        <email> rfv </email>
        <ct> tgb </ct>
    </person>
</contact>

XML如上,想删除   name=x 这个节点,运用程序:
                        XmlDocument   xdoc   =   new   XmlDocument();
                        xdoc.Load( "E:\\BegC#XML\\myPhoBk.xml ");

                        XmlNodeList   xList   =   xdoc.SelectNodes(@ "//*[text()= ' "   +   deleNm   +   " ']/parent::* ");

                        foreach   (XmlNode   xNode   in   xList)
                        {
                                xNode.RemoveAll();
                        }

删除后输出XML如下:
<?xml   version= "1.0 "   encoding= "gb2312 "?>
<contact>  
  <person>
    </person>
    <person>
        <name> wsx </name>
        <number> edc </number>
        <email> rfv </email>
        <ct> tgb </ct>
    </person>
</contact>
想把包含 name=x 节点的父节点 <person>一起删除.请问该怎么做?

[解决办法]
foreach (XmlNode node in xList)
{
if (node.ParentNode != null)
{
node.ParentNode.RemoveChild(node);
}
}

热点排行