私はこのようなディレクトリ構造を持っています:
Root
|
|-Folder 1
| |
| |--Multiple files.
| |
| |--Folder 1.a
| |
|-Files |
|----Multiple files.
|----Further tree of more folder's and files.
次のような XML ファイルに保存されます。
<dir name="root">
<dir name="Folder 1">
<file name="file1"/>
<file name="file2"/>
<dir name="folder1.a>
<file name="innerfile"/>
</dir>
</dir>
<dir name="folder2">
.... so on ....
jQueryを使用してこのツリーをトラバースし、インデントを使用しているため、次のようなディレクトリ構造を出力したい:
Root
Folder1
file1
file2
Folder1.a
inner file
Folder2
file N
folder N
.....
私が使用しているコードは次のとおりです
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "root.xml",
dataType: "xml",
success: parseXml
});
});
function parseXml(xml)
{
$(xml).find("directory").each(function(){
$("#output").append("<a href = \"" + $(this).attr("absolutePath") + "\">" + $(this).attr("name") + "</a><br>");
$(this).find("file").each(function()
{
$("#output").append(" <a href = \"" + $(this).attr("absolutePath") + "\">" + $(this).attr("name") + "</a><br>");
});
$('#output').append("<br>");
});
私のコードは機能していますが、サブディレクトリ内のすべてのファイルを複数回印刷しているため、ネストされたフォルダーのファイルは冗長です。