我遍历整个d:\dir的文件和文件夹 我用XmlDocument想弄成这样的格式<root>
<一级目录><二级目录>依次类推</二级目录><文件></文件>
</一级目录>
<文件></文件>
</root>总之就是跟windows的盘符路径一样
public string toXMl(string strDir) //这个方法可以遍历出所有文件夹和文件 但是我不知道怎么转成我要想的XML格式
//试了半天了 还是弄不出来 请大家帮忙下 谢谢
{
string[] strFiles = Directory.GetFiles(strDir); string[] strDirs = Directory.GetDirectories(strDir);
foreach (string name in strFiles)
{
//这里是遍历所有文件
}
foreach (string name in strDirs)
{
//这里是遍历所有目录
}
if (strDirs.Length > 0)
{
foreach (string dir in strDirs)
{ // 递归遍历所有文件夹
return toXMl(dir);
}
return doc.OuterXml; //最后是返回XmlDocument.OuterXml
}
else
{
return doc.OuterXml; //最后是返回XmlDocument.OuterXml }
}请大家帮帮忙 多谢了
<一级目录><二级目录>依次类推</二级目录><文件></文件>
</一级目录>
<文件></文件>
</root>总之就是跟windows的盘符路径一样
public string toXMl(string strDir) //这个方法可以遍历出所有文件夹和文件 但是我不知道怎么转成我要想的XML格式
//试了半天了 还是弄不出来 请大家帮忙下 谢谢
{
string[] strFiles = Directory.GetFiles(strDir); string[] strDirs = Directory.GetDirectories(strDir);
foreach (string name in strFiles)
{
//这里是遍历所有文件
}
foreach (string name in strDirs)
{
//这里是遍历所有目录
}
if (strDirs.Length > 0)
{
foreach (string dir in strDirs)
{ // 递归遍历所有文件夹
return toXMl(dir);
}
return doc.OuterXml; //最后是返回XmlDocument.OuterXml
}
else
{
return doc.OuterXml; //最后是返回XmlDocument.OuterXml }
}请大家帮帮忙 多谢了
解决方案 »
- 求一个TCP服务器解决方案!!!
- .Net向WebService(Jave编写)时,先在客户端封装的带有double类型、int、DateTime类型属性的对象,服务器端得到的该对象的这些属性均为空(string类型可以得到值),这是什么原因呢?
- ◆listView控件使用问题◆
- 请问怎样向ORACLE里面添加时间类型字段
- 关于消息的问题
- 关于系统权限表设计问题。
- (C#)关于WINFORM下将DATAGRID中数据导出为EXCEL的问题
- 为何RichTextBoxe.Enabled=false掉后,修改RichTextBoxe.BackColor没有效果,如何解决?
- RichTextBox 中文字字体的问题
- 关于接口和它的实现类
- 以下程序,Win7 不能正常发信 求解?
- 如何使用C#对Excel进行增删改、排序等操作
AppendChild添加子节点,就那么几个操作,自己试吧
StringBuilder sp = new StringBuilder();
int index=0;
public static void ListFiles(FileSystemInfo info)
{
index++;
sp.Append(index+"级目录");
if (!info.Exists) return;
DirectoryInfo dir = info as DirectoryInfo;
//不是目录
if (dir == null) return;
FileSystemInfo[] files = dir.GetFileSystemInfos();
for (int i = 0; i < files.Length; i++)
{
FileInfo file = files[i] as FileInfo;
//是文件
if (file != null)
{
sp.Append(file.FullName);
}
//对于子目录,进行递归调用
else
ListFiles(files[i]); }
sp.Append("/"+index+"级目录");
}
class Program
{
private static XmlDocument xml;
static void Main(string[] args)
{
DirectoryInfo rootDir = new DirectoryInfo(@"E:\我的类库");
xml = new XmlDocument();
XmlElement root = xml.CreateElement("root");
xml.AppendChild(root);
GetChild(rootDir, root);
xml.Save(@"c:\test.xml");
}
private static void GetChild(DirectoryInfo parent, XmlElement currentElement)
{
DirectoryInfo[] childDirs = parent.GetDirectories();
FileInfo[] childFiles = parent.GetFiles();
foreach (DirectoryInfo d in childDirs)
{
XmlElement newDirElement = xml.CreateElement("d");
newDirElement.SetAttribute("name", d.Name);
newDirElement.InnerText = null;
currentElement.AppendChild(newDirElement);
GetChild(d, newDirElement);
}
foreach (FileInfo f in childFiles)
{
XmlElement newFileElement = xml.CreateElement("f");
newFileElement.SetAttribute("name", f.Name);
currentElement.AppendChild(newFileElement);
}
}
给分哦~~