JXTree對象,讀取外部xml文件數據,生成樹的函數
2024-09-06 12:42:43
供稿:網友
/******************************************
*JXTree對象,讀取外部xml文件數據,生成樹
*@author brull
*@email brull@163.com
*@date 2007-03-27
*******************************************/
/*
*@param xmlURL XML文件的地址
*/
var JXTree = function(xmlURL)
{
var result = new Array();
/*****************************
*首先定義TreeNode抽象對象
*TreeNode對象屬性:
*id 唯一編號,必須在xml文件里定義為節點屬性
*level 節點層次,從-1開始(即根節點)
*_click 節點click,在xml文件定義為節點屬性[可選]
*isLast 是否為本節點所在層次最后一個節點
*parent_isLast 父節點是否為父節點所在層次的最后一個節點
*toHTML 本節點轉成HTML代碼的方法
*******************************/
var TreeNode = function (node,level)
{
var parent_elements = node.parentNode ? (node.parentNode.parentNode ? node.parentNode.parentNode.childNodes : null) : null;
var elements = node.parentNode ? node.parentNode.childNodes : null;
this.id = XMLDom.getAttribute(node,"id") ? XMLDom.getAttribute(node,"id") : "";
this.level = level;//節點的層次
this.isLast = elements ? ((elements.item(elements.length-2) === node) ? true : false) : false;
this._click = XMLDom.getAttribute(node,'click') ? XMLDom.getAttribute(node,'click') : "";
this.toHTML = null;//function
}
/*****************************
*ElementNode對象,繼承自抽象對象TreeNode
*新增屬性:
*_nodeName 節點名稱
******************************/
var ElementNode = function(node,level)
{
TreeNode.apply(this,arguments);
this._nodeName = XMLDom.getAttribute(node,"name") ? XMLDom.getAttribute(node,"name") : "";