使用时需要加载XSLT模块,程序下载地址:http://xiaocon.51.net/tree/tree.zip 演示地址:
http://xiaocon.51.net/tree/tree.htm
或
http://xiaocon.51.net/tree/navi.xml
51.net上不支持xslt :( 程序文件: =========================================================== <?php $xslstring = implode('',file("navigator.xsl")); $xmlstring = implode('',file("navi.xml")); $arguments = array( '/_xml' => $xmlstring, '/_xsl' => $xslstring );
$xh = xslt_create();
$result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments); if ($result) { print $result; } else { print "Err";
} xslt_free($xh);
?> xml文件 =========================================================== <?xml version="1.0" encoding="GB2312"?> <?xml-stylesheet type="text/xsl" href="navigator.xsl" ?> <Navigation>
<Navigator ID="1" AncestorID="1" Layer="0" Title="花园首页" Childs="0" Url="default.asp&" Image="images/dc.gif"/> <Navigator ID="2" AncestorID="2" Layer="0" Title="我的花园" Childs="4" Url="#" Image="default"/> <Navigator ID="3" AncestorID="2" Layer="1" Title="收藏夹" Childs="4" Url="#" Image="default"/> <Navigator ID="21" AncestorID="3" Layer="2" Title="我管理的花坛" Childs="0" Url="mybbs.asp?cat=g" Image="images/dc-new.gif"/> <Navigator ID="22" AncestorID="3" Layer="2" Title="我种下的种子" Childs="0" Url="mybbs.asp?cat=t" Image="images/dc-new.gif"/> <Navigator ID="23" AncestorID="3" Layer="2" Title="我喜欢的花园" Childs="0" Url="myfavorite.asp?cat=g&s=test" Image="images/dc-new.gif"/> <Navigator ID="24" AncestorID="3" Layer="2" Title="我收藏的文章" Childs="0" Url="myfavorite.asp?cat=t" Image="images/dc-new.gif"/> <Navigator ID="4" AncestorID="2" Layer="1" Title="个人工具箱" Childs="2" Url="#" Image="default"/> <Navigator ID="25" AncestorID="4" Layer="2" Title="配置和管理" Childs="0" Url="personal.asp" Image="images/dc-config.gif"/> <Navigator ID="26" AncestorID="4" Layer="2" Title="花瓣兑换点" Childs="0" Url="apetal.asp" Image="images/dc-config.gif"/> <Navigator ID="27" AncestorID="2" Layer="1" Title="我的日记本" Childs="0" Url="mydiary.asp" Image="images/dc-diary.gif"/> <Navigator ID="6" AncestorID="2" Layer="1" Title="好友和短讯" Childs="0" Url="myfriend.asp" Image="images/dc-friends.gif"/> <Navigator ID="7" AncestorID="7" Layer="0" Title="计算机技术" Childs="2" Url="#" Image="default"/> <Navigator ID="8" AncestorID="7" Layer="1" Title="DHTML,JScript" Childs="0" Url="bbsgroup.asp" Image="images/dc.gif"/> <Navigator ID="9" AncestorID="7" Layer="1" Title=".NET,ASP+探讨" Childs="0" Url="bbsgroup.asp" Image="images/dc.gif"/> <Navigator ID="10" AncestorID="7" Layer="1" Title="ASP互助" Childs="0" Url="bbsgroup.asp" Image="images/dc.gif"/> <Navigator ID="11" AncestorID="11" Layer="0" Title="箐箐校园" Childs="2" Url="#" Image="default"/> <Navigator ID="12" AncestorID="11" Layer="1" Title="南京大学" Childs="0" Url="bbsgroup.asp" Image="images/dc.gif"/> <Navigator ID="13" AncestorID="11" Layer="1" Title="东南大学" Childs="0" Url="bbsgroup.asp" Image="images/dc.gif"/> <Navigator ID="14" AncestorID="14" Layer="0" Title="花园·有个广场" Childs="2" Url="#" Image="default"/> <Navigator ID="15" AncestorID="14" Layer="1" Title="意见箱" Childs="0" Url="bbsgroup.asp" Image="images/dc.gif"/> <Navigator ID="16" AncestorID="14" Layer="1" Title="花园·人物故事" Childs="0" Url="bbsgroup.asp" Image="images/dc.gif"/> <Navigator ID="17" AncestorID="17" Layer="0" Title="园丁办公室" Childs="0" Url="bbsgroup.asp" Image="images/dc-key.gif"/> <Navigator ID="18" AncestorID="18" Layer="0" Title="青青芳草地" Childs="0" Url="bbsgroup.asp" Image="images/dc.gif"/> <Navigator ID="19" AncestorID="19" Layer="0" Title="统计信息" Childs="0" Url="viewlog.asp" Image="images/dc-chart.gif"/> <Navigator ID="20" AncestorID="20" Layer="0" Title="ActiveCard" Childs="0" Url="activecard?fromgarden" Image="images/dc-card.gif"/> </Navigation>
XSLT文件
============================================================ <?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method ="html" version="1.0" encoding="GB2312" indent="yes"/> <xsl:template match="/"> <HTML> <HEAD> <TITLE>XSLT树形导航栏</TITLE> <LINK rel="stylesheet" type="text/css" href="navigator.css"/> <SCRIPT src="toggle.js"></SCRIPT> </HEAD> <BODY>
<DIV > <TABLE> <TR> <TD><DIV noWrap="true" STYLE="padding-left:0em;">有座花园分类目录</DIV></TD> </TR> <xsl:for-each select="Navigation/Navigator"> <TR> <xsl:attribute name="TITLE"><xsl:value-of select="@Title" /></xsl:attribute> <xsl:attribute name="Class">Navigator<xsl:if test="@Layer[.>0]">-Hidden</xsl:if></xsl:attribute> <xsl:attribute name="ID"><xsl:value-of select="@ID"/></xsl:attribute> <xsl:attribute name="AncestorID"><xsl:value-of select="@AncestorID"/></xsl:attribute> <xsl:attribute name="Depth"><xsl:value-of select="@Layer"/></xsl:attribute> <xsl:if test="@Childs[.>0]"> <xsl:attribute name="Expanded">no</xsl:attribute> </xsl:if> <TD STYLE="cursor:hand"> <DIV noWrap="true"><xsl:attribute name="STYLE">padding-left:<xsl:value-of select="@Layer"/>em;</xsl:attribute> <xsl:choose> <xsl:when test="@Childs[.>0]"><IMG src=http://cfan.net.cn/info/"images/bs.gif"><xsl:attribute name="onclick">toggle('<xsl:value-of select="@ID" />')</xsl:attribute></IMG></xsl:when> <xsl:otherwise><IMG><xsl:attribute name="src"><xsl:value-of select="@Image" /></xsl:attribute></IMG></xsl:otherwise> </xsl:choose> <A><xsl:if test="@Childs[.>0]"><xsl:attribute name="onclick">toggle('<xsl:value-of select="@ID" />')</xsl:attribute></xsl:if><xsl:attribute name="href"><xsl:value-of select="@Url" /></xsl:attribute><xsl:value-of select="@Title" /></A></DIV></TD> </TR> </xsl:for-each> </TABLE> </DIV> </BODY> </HTML> </xsl:template> </xsl:stylesheet>
|