[英]creating xdocument structure
我正在嘗試將驅動器索引到xml文件。 我可憐的嘗試是這樣的:
internal static void createIndex(String path, String driveLabel)
{
XDocument w = new XDocument();
w.Add(createStructure(path, new XElement("root")));
w.Save(driveLabel +".xml");
}
internal static XElement createStructure(String path, XElement x)
{
try
{
String[] files = Directory.GetFiles(path);
String[] folders = Directory.GetDirectories(path);
foreach (String s in folders)
{
x.Add("directory", createStructure(s, x));
}
foreach (String f in files)
{
x.Add(new XElement("file", f));
}
}
catch (Exception e) { }
return x;
}
這里有些輸出-簡單的文件結構-根目錄有2個mp3和1個包含2個文件的文件夾。
<?xml version="1.0" encoding="utf-8"?>
<root>
<file>E:\.wd_tv\ph.db</file>
<file>E:\.wd_tv\ph.db-journal</file>directory<root>
<file>E:\.wd_tv\ph.db</file>
<file>E:\.wd_tv\ph.db-journal</file>directory</root>
<file>E:\180.mp3</file>
<file>E:\181.mp3</file>
</root>
我在那里收到一些奇怪的混合標簽,但我根本不明白。 任何幫助表示贊賞。
使用od的循環結構,它變為:
<?xml version="1.0" encoding="utf-8"?>
<root>directory<root>directory</root>
<file>E:\180.mp3</file>
<file>E:\181.mp3</file>
</root>
嘗試以下循環結構:
foreach (String s in folders)
{
x.Add("directory", createStructure(s, x));
foreach (String f in files)
{
x.Add(new XElement("file", f));
}
}
這樣,您將立即在目錄之后顯示屬於該目錄的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.