入题,请大家指教

解决方案 »

  1.   

    先设计好树的层次,然后以每个根节点做为XML文件中的一个节点,树下面的子节点同样做为XML文件中的子节点,这样一一对应好之后应该不难。
      

  2.   

    保存为Xml文件:
    public static void Main(String[] args) 
    {
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<Nodes/>");
    TreeView tv = new TreeView();
    tv.Nodes.Add(new TreeNode("ttttttt"));
    tv.Nodes[0].Nodes.Add(new TreeNode("sssssssss"));
    for(int i = 0; i < tv.Nodes.Count; i++)
    {
    TreeNode child = tv.Nodes[i];
    XmlElement newEle = doc.CreateElement("Node");
    newEle.SetAttribute("Text", child.Text);
    newEle.SetAttribute("ImageIndex", child.ImageIndex.ToString());
    newEle.SetAttribute("SelectedImageIndex", child.SelectedImageIndex.ToString());
    doc.DocumentElement.AppendChild(newEle);
    if (child.Nodes.Count > 0)
    GetInfo(child, newEle);
    }
    doc.Save("tt.xml");
    }static void GetInfo(TreeNode node, XmlElement ele) {
    for(int i = 0; i < node.Nodes.Count; i++)
    {
    TreeNode child = node.Nodes[i];
    XmlElement newEle = ele.OwnerDocument.CreateElement("Node");
    newEle.SetAttribute("Text", child.Text);
    newEle.SetAttribute("ImageIndex", child.ImageIndex.ToString());
    newEle.SetAttribute("SelectedImageIndex", child.SelectedImageIndex.ToString());
    ele.AppendChild(newEle);
    if (child.Nodes.Count > 0)
    GetInfo(child, newEle);
    }
    }
      

  3.   

    读取Xml文件到TreeView:
    public static void Main(String[] args) 
    {
    XmlDocument doc = new XmlDocument();
    doc.Load("tt.xml");
    TreeView tv = new TreeView();
    for(int i = 0; i < doc.DocumentElement.ChildNodes.Count; i++)
    {
    XmlElement ele = (XmlElement) doc.DocumentElement.ChildNodes[i];
    string text = ele.GetAttribute("Text");
    int ImageIndex = Convert.ToInt32(ele.GetAttribute("ImageIndex"));
    int SelectedImageIndex = Convert.ToInt32(ele.GetAttribute("SelectedImageIndex"));
    TreeNode child = new TreeNode(text, ImageIndex, SelectedImageIndex);
    tv.Nodes.Add(child);
    if (ele.ChildNodes.Count > 0)
    GetInfo(child, ele);
    }
    }static void GetInfo(TreeNode node, XmlElement ele) {
    for(int i = 0; i < ele.ChildNodes.Count; i++)
    {
    XmlElement childEle = (XmlElement) ele.ChildNodes[i];
    string text = childEle.GetAttribute("Text");
    int ImageIndex = Convert.ToInt32(childEle.GetAttribute("ImageIndex"));
    int SelectedImageIndex = Convert.ToInt32(childEle.GetAttribute("SelectedImageIndex"));
    TreeNode child = new TreeNode(text, ImageIndex, SelectedImageIndex);
    node.Nodes.Add(child);
    if (childEle.ChildNodes.Count > 0)
    GetInfo(child, childEle);
    }
    }