2012-04-13 63 views
3

我想從使用jstree的xml文件構建一棵樹。我按照文檔,看起來不工作。這裏是我的代碼:jstree不構建樹

<html> 
<head> 
    <title>Demo</title> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script type="text/javascript" src="C:\Users\jstree\jstree_pre1.0_fix_1\jquery.jstree.js"></script> 
    <Script Language="JavaScript"> 
    $(function() { 

    $("#demo2").jstree({ 

     "xml_data" : { 

      "ajax" : { 

       "url" : "books.xml" 

      }, 

      "xsl" : "nest" 

     }, 

     "plugins" : [ "themes", "xml_data" ] 

    }); 
    }); 

</Script> 

</head> 
<body> 

</body> 

回答

2

XML格式不是jsTree可以包含的格式。

http://www.jstree.com/documentation/xml_data

兩種類型的XML結構的支持 - 平板和嵌套:

<!-- FLAT --> 
<root> 
    <item id="root_1" parent_id="0" state="closed"> 
     <content> 
      <name><![CDATA[Node 1]]></name> 
     </content> 
    </item> 
    <item id="node_2" parent_id="root_1"> 
     <content> 
      <name><![CDATA[Node 2]]></name> 
     </content> 
    </item> 
</root> 

<!-- NESTED --> 
<root> 
    <item id="xml_1"> 
     <content><name><![CDATA[Root node 1]]></name></content> 
     <item id="xml_2"> 
      <content><name><![CDATA[Child node 1]]></name></content> 
     </item> 
    </item> 
</root> 

另一種方法是把XML文檔中,並將其轉換成JSON,然後將其轉變成一個有效的JSON或HTML數據格式。

0

有腳本沒有這樣的屬性,叫做「語言」(有可能是,但它不建議使用)。

將您在類似於下面的代碼的腳本標籤代碼,然後再試一次

<script type="text/javascript"> 
    //Your Code Here 
</script> 
+0

沒有工作,空白頁 – 2012-04-17 15:47:23

+0

添加爲你的腳本進行仔細的檢查:$(文件)。就緒(函數(){ 警報($ jstree._themes); });我讀出如下內容:http://.../.../jstree/themes/。這是爲了確保庫甚至能夠正確加載。 – MMeah 2012-04-17 23:48:30

+0

另一個完整性檢查是:alert($()。jquery);再次,我的讀出類似1.6.2 – MMeah 2012-04-17 23:55:32

1

貌似容器(#DEMO2)丟失。嘗試在標籤標籤下添加<div id='demo2'></div>

還要確保jstree.js文件正在正確加載。

+0

我的瀏覽器卡住說,加載 – 2012-04-18 19:49:58

0

給出一個相對路徑而不是「url」:「books.xml」。將其替換爲當前路徑,如「url」:「../Content/Xml/books.xml」。 這可能有效。

問候, Amrutha