4.XML树

Supcan Tree树是通过一个XML创建的，有二种XML格式可供选择。
第一种XML格式类似平面的结果集，由 "PID" 属性指定父节点，例如:

    <?xml version="1.0" encoding="utf-8"?>
    <Data>
    <items>
    　　<item ID="10" text="安装|Install" para="act.htm#Tag10" img="2"/>
    　　<item ID="20" text="硕正套件|Supcan RIA Suit" para="act.htm#Tag20"  img="12"/>
    　　<item ID="201" PID="20" text="语法|Gramma" para="act.htm#Tag201"/>
    　　<item ID="202" PID="20" text="函数|Function" para="act.htm#Tag202" LazyLoad="true"/>
    　　<item ID="203" PID="20" text="事件|Event" para="act.htm#Tag203"/>
    </items>
    </Data>

如果是用 Json 格式，须这样写:

    {"items": [
     {"ID":"10", "text":"安装|Install", "para":"act.htm#Tag10", "img":"2"},
     {"ID":"20", "text":"硕正套件|Supcan RIA Suit", "para":"act.htm#Tag20", "img":"12"},
     {"ID":"201", "PID":"20", "text":"语法|Gramma", "para":"act.htm#Tag201"}
    ]}

第二种XML格式本身就是一颗树，不需要单独指定"PID", 例如:

    <?xml version="1.0" encoding="utf-8"?>
    <Data>
    <items>
     <item ID="10" text="安装|Install" para="act.htm#Tag10" img="pack.zip#22.jpg"/>
     <item ID="20" text="硕正套件|Supcan RIA Suit" para="act.htm#Tag20">
      <item ID="201" text="语法|Gramma" para="act.htm#Tag201" LazyLoad="tree.aspx?id=201"/>
      <item ID="202" text="函数|Function" para="act.htm#Tag202"/>
      <item ID="203" text="事件|Event" para="act.htm#Tag203">
        <item ID="20301" text="OnReady" para="act.htm#Tag20301"/>
        <item ID="20302" text="OnEvent" para="act.htm#Tag20302"/>
      </item>
     </item>
    </items>
    </Data>

XML的属性规则如下:

属性 | 含义
--- | ---
ID | ID串，串可包含任意字符，ID必须唯一
PID | 从属的父ID
str 或 text | 显示的文字
tip | 鼠标滑过时的浮动Tip
img 或 image | 内置图标的数字(树叶图标需要加上10)，或自定义图标的URL，支持图片扩展URL. 注：如果是相对URL，是相对于当前XML文档，而非页面.
para | 可选参数
LazyLoad | 表示有子孙，且是在展开时动态加载的，有2种形式： 1.串"true", 表示通过"LazyLoad"事件触发(参见demo页); 2.是一个绝对或相对(相对于本XML)URL，用于自动加载，不触发事件.
check 或 checked | checkbox的值(true/false, 仅用于创建参数含hasCheckBox时)
textColor | 文字的颜色, 如"#FF0000"
其它任意属性 | 自定义属性，可通过GetXMLProp( )/SetXMLProp( )存取

如果 text、tip 需要有中英文切换功能，那么中英文之间以 “|” 分隔即可.

text也可以这样写: <item id="10">安装</item>.

如果未定义text，那么将显示ID.