日期:2014-05-17  浏览次数:20841 次

C# XML操作类
我刚刚自己在网上学了一些XML的操作。有个问题:
比如我的XML结构是这样的:
address.xml

<Address_Table>
  <address>
    <联系人>dongdong</联系人>
    <邮件地址>dongdong@163.com</邮件地址>
  </address>
  <address>
    <联系人>hehe</联系人>
    <邮件地址>xixi@21.cn</邮件地址>
  </address>
  <address>
    <联系人>chai</联系人>
    <邮件地址>cf@263.net</邮件地址>
  </address>
  
</Address_Table>


然后我要创建一个按钮事件:
查找用户在textBox输入的联系人名,比如上面的dongdong
然后就把dongdong这个
<address>
    <联系人>dongdong</联系人>
    <邮件地址>dongdong@163.com</邮件地址>
  </address>
全部删除
代码该如何写?
xml c# 结构

------解决方案--------------------
引用:
Quote: 引用:

 XmlDocument doc = new XmlDocument();
            doc.Load("test.xml");//加载xml文件

            foreach (XmlNode node in doc.SelectNodes("/Address_Table"))
            {
                if (node.SelectSingleNode("address/联系人").InnerText == "dongdong")//如果是dongdong
                {
                    node.RemoveChild(node.SelectSingleNode("address"));//移除这一节点
                    break;
                }
            }
            doc.Save("test.xml");//保存并覆盖test.xml文件


大神,好像你这样只能删掉顶端的那条符合条件的,如果没删dongdong,
我要删第二条hehe的记录就不行了,它不会往下检索直到匹配到才删


sorry,改进一下。
 string nodeName = "dongdong";//定义一个要删除的节点的名称的内容

            XmlDocument doc = new XmlDocument();
            doc.Load("test.xml");//加载xml文件
            foreach (XmlNode node in doc.SelectSingleNode("/Address_Table").ChildNodes)
            {
 &nbs