我想做一个目录树,然后保存的时候使用xml来保存嵌套结构,因为文件夹可以嵌套,所以不知道怎么设计类?
现在的想法是一个基类XNode 2个子类XFile和XFolder,XFile是文件,XFolder是文件夹
然后XFolder包含1个List<XNode>,不知道这样设计合理吗?而且这样设计感觉生成xml的算法好难.
有高手指教更好的办法吗?

解决方案 »

  1.   

    迪规?什么  目录?
        XmlWriter writer = XmlWriter.Create(@"d:\a.xml");            writer.WriteStartDocument();
                
                writer.WriteStartElement("DriInfoList");
                InsertValue(writer, @"D:\other\HtmlParser");            writer.WriteEndElement();
                writer.WriteEndDocument();
                writer.Close(); private static void InsertValue(XmlWriter writer, string path)
            {
                DirectoryInfo dir = new DirectoryInfo(path);            DirectoryInfo[] dirinfo = dir.GetDirectories();            foreach (DirectoryInfo f in dirinfo)
                {
                    writer.WriteStartElement("DriInfo");
                    writer.WriteAttributeString("path", f.FullName);
                    InsertFile(writer, f.GetFiles());
                    InsertValue(writer, f.FullName);
                    writer.WriteEndElement();
                }
            }        private static void InsertFile(XmlWriter writer, FileInfo[] file)
            {
                foreach (FileInfo f in file)
                {
                    writer.WriteStartElement("FileInfo");
                    writer.WriteAttributeString("FileName", f.FullName);
                    writer.WriteString(f.Name);                writer.WriteEndElement();
                }
            }
      

  2.   

    呵呵,最后再加上标准的XML的标记开头
    <? xml version="1.0" ....