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