HTML
<div id="html">
<ul>
<li id="myFolder" type="folder">myFolder
<ul>
<li id="myFolder/fonts" class="empty" type="folder">fonts</li>
<li id="myFolder/index.html" type="file">index.html</li>
<li id="myFolder/js" type="folder">js
<ul>
<li id="myFolder/js/controllers" type="folder">controllers
<ul>
<li id="myFolder/js/controllers/core" type="folder">core
<ul>
<li id="myFolder/tempjs/controllerslates/core/menu.js" type="file">menu.js</li>
</ul>
</li>
<li id="myFolder/js/controllers/errors" type="folder">errors
<ul>
<li id="myFolder/js/controllers/errors/error.js" type="file">error.js</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
I would like to transform the HTML into several objects like this :
{
"dir": "",
"name": "myFolder",
"type": "folder",
"children": [{
"dir": "myFolder",
"name": "fonts",
"type": "folder"
}, {
"dir": "myFolder",
"name": "index.html",
"type": "file"
}, {
"dir": "myFolder",
"name": "js",
"type": "folder",
"children": [{
"dir": "myFolder/js",
"name": "controllers",
"type": "folder",
"children": [{
"dir": "myFolder/js/controllers",
"name": "core",
"type": "folder",
"children": [{
"dir": "myFolder/tempjs/controllerslates/core",
"name": "menu.js",
"type": "file"
}]
}, {
"dir": "myFolder/js/controllers",
"name": "errors",
"type": "folder",
"children": [{
"dir": "myFolder/js/controllers/errors",
"name": "error.js",
"type": "file"
}]
}]
}]
}]
}
I don't know how to do the transformation. I think I can use
document.getElementsByTagName('li');
or something like this. But, how can I manage parents and children links and how can I link variables of objects with HTML attributes ?