IncognitoV 2020-05-11 17:58 采纳率: 0%
浏览 435

C#实现通讯录“添加下级分组”功能,比如“我的同学”可以分为“小学同学”“初中同学”等等,数据以xml方式存储

C#设计一个通讯录,要求实现“添加下级分组”功能。类TreeXML实现了对List和AddressList的XML文件的主要读、写、修改和删除的功能。其中“List.xml”和“AddressList”XML文件用于记录分组信息和联系人信息。已经写出来“添加同级分组功能”: private void toolStripButton6_Click(object sender, EventArgs e)//添加同级分组
{
form2 form2 = new form2();
form2.ShowDialog(); //弹出添加修改分组窗体
if (form2.groupName != "")
{
TreeNode tn = new TreeNode();
tn.Text = form2.groupName;
treeView1.Nodes.Add(tn);
/*写入XML文件*/
if (treeView1.SelectedNode.Parent == null) //判断是否是父节点
{
TreeXML TreXml = new TreeXML();
TreXml.AddXmlSelectedNode(starpath + @"\List.xml", form2.groupName);
}
}
}

            这是TreeXML中的读写部分代码:public void AddXmlSelectedNode(string XMLFilePath, string NodeName)
    {
        xmldocument.Load(XMLFilePath);
        XmlNode root = xmldocument.SelectSingleNode("List");    //查找<List>
        XmlNodeList childlist = root.ChildNodes;
        XmlElement xe1 = xmldocument.CreateElement("组名");   //创建一个<组名>节点
        xe1.InnerText = NodeName;                       //设置节点的串联值
        root.AppendChild(xe1);                          //添加到<List>节点中
        xmldocument.Save(XMLFilePath);                  //将XML文档保存到指定的文件中
    }
    /*读取分组的XML文件并显示在TreeView控件上*/
    public void XMLToTree(string XMLFilePath, TreeView TheTreeView)
    {
        thetreeview = TheTreeView;
        xmldocument.Load(XMLFilePath);                      //读取XML文件
        XmlNode root = xmldocument.SelectSingleNode("List");    //选择匹配List的第1个节点
        foreach (XmlNode subXmlnod in root.ChildNodes)      //遍历此所有子节点
        {
            if (subXmlnod.Name == "组名")                 //子节点的限定名为“组名”
            {
                TreeNode trerotnod = new TreeNode();        //实例化一个树节点
                trerotnod.Text = subXmlnod.InnerText;       //将子节点串联值作为树节点名称
                thetreeview.Nodes.Add(trerotnod);           //添加此树节点
            }
        }
    }
            想要问一下“添加下级分组功能”怎么写啊?在TreeXML中要修改什么代码吗?
  • 写回答

1条回答 默认 最新

  • threenewbee 2020-05-12 09:46
    关注

    如果你要无限级分组,那么数据结构就是
    id parentid text
    否则只要给你的节点加上一个所属分类的属性就可以了。

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条