![](/img/trans.png)
[英]How to convert flat data structure to tree structure in JavaScript using recursion
[英]convert xml into tree structure using javascript
嗨,我想將xml轉換為樹結構。 但是,當我從本地計算機提供路徑時,它可以正常工作,但是當我們提供url路徑時,它無法工作。
我怎樣才能做到這一點 。
我正在使用以下代碼。
var strList="";
var level=0;
var curriculumXml ="";
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "xml/development_curriculum.xml(i have to place the weburl here.like http://www.cde.com/development_curriculum.xml",
dataType: "xml",
success: function(data)
{
manipulateXml(data);
$("#curTree").html();
loadParentCur();
}
});
});
/*This method is to get search curriculum XML list*/
function manipulateXml(data)
{
curriculumXml = data;
$(data).find("node").each(function(){
var id = parseInt($(this).attr("id"));
});
}
/*This method is used to get curriculum tree*/
function loadParentCur()
{
if (window.ActiveXObject)
{
var xmlobject=new ActiveXObject("Microsoft.XMLDOM");
xmlobject.async="false";
var xmlString = curriculumXml.xml;
}
// code for Mozilla, Firefox, Opera, etc.
else
{
var xmlString = (new XMLSerializer()).serializeToString(curriculumXml);
}
var json = $.xml2json(xmlString);
var objNode = json.node;
renderTree(objNode);
}
function to_ul(branches)
{
if(branches !=undefined)
{
if(level>0)
{
strList = strList + "<ul style=\"display: none;\">";
}
if(branches.length == undefined)
{
var branch = branches.node;
if (branch)
{
strList = strList + "<li class=\"expandable\" ><div class=\"hitarea expandable-hitarea\" onclick=\"#\"></div><span><a href=\"#\" onclick=\"#\">";
strList = strList + branches.name+"</a></span>";
level=level+1;
to_ul(branch);
}
else
{
strList = strList + "<li id=\""+branches.id+"\" onclick=\"#\" style=\"white-space: nowrap;list-style: none;margin-left:-25px;\"><a href=\"#\" class=\"but_res\" style=\"width:152px; margin-left:30px;\">";
strList = strList + unescape(branches.name)+"</a>";
}
strList = strList +"</li>";
level=0;
}
else
{
for (var i=0; i<branches.length; i++)
{
var branch = branches[i];
if (branch.node)
{
strList = strList + "<li class=\"expandable\" ><div class=\"hitarea expandable-hitarea\" onclick=\"#\"></div><span><a href=\"#\" onclick=\"#\">";
strList = strList + branch.name+"</a></span>";
level=level+1;
to_ul(branch.node);
}
else
{
strList = strList + "<li id=\""+branch.id+"\" onclick=\"#\" style=\"white-space: nowrap;list-style: none;margin-left:-25px;\"><a href=\"#\" class=\"but_res\" style=\"width:152px; margin-left:30px;\">";
strList = strList + unescape(branch.name)+"</a>";
}
strList = strList +"</li>";
level=0;
}
}
strList =strList + "</ul>";
}
}
/*This method is used to render tree*/
function renderTree(objTree)
{
var objTreeNew = objTree;
to_ul(objTreeNew);
$("#curTree").html("<ul class=\"treeview\" id=\"tree\">"+strList+"</ul>");
$("#tree").treeview({
collapsed: true,
animated: "medium",
control:"#sidetreecontrol",
prerendered: true,
persist: ""
});
}
我們該怎么做? 。
如果您在本地打開網頁,由於http://de.wikipedia.org/wiki/Same-Origin-Policy ,訪問絕對資源將失敗。 您必須從相同的域和端口打開頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.