2012-01-23 4 views
0

안녕하세요, xml을 트리 구조로 변환하고 싶습니다. 하지만 로컬 컴퓨터에서 경로를 제공하면 제대로 작동하지만 URL 경로가 작동하지 않을 때 작동합니다.javascript를 사용하여 xml을 트리 구조로 변환

어떻게 할 수 있습니까?

다음 코드를 사용하고 있습니다.

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: "" 
    }); 
} 

어떻게 할 수 있습니까? .

+0

무엇이 오류입니까? –

+0

div에 액세스하고 있지만 div에 아무것도 없습니다. –

+0

xml 경로를 더 잘 살펴 보시고, 아마도 같은 폴더에 있지 않습니까? –

답변

관련 문제