使用时需要加载xslt模块,程序下载地址:http://xiaocon.51.net/tree/tree.zip
演示地址:
http://xiaocon.51.net/tree/tree.htm
” target=_blank>
http://xiaocon.51.net/tree/tree.htm
或
http://xiaocon.51.net/tree/navi.xml
” target=_blank>
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="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>
