我是一个新手<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type='text/xsl' href='menu.xsl'?>
<Menu>
<MenuItem Text="Menu1">
<MenuItem Text="Menu11">
<MenuItem Text="Menu111">
</MenuItem>
<MenuItem Text="Menu112">
</MenuItem>
</MenuItem>
<MenuItem Text="Menu12">
<MenuItem Text="Menu121">
</MenuItem>
<MenuItem Text="Menu122">
</MenuItem>
</MenuItem>
</MenuItem>
<MenuItem Text="Menu2">
<MenuItem Text="Menu21">
<MenuItem Text="Menu211">
</MenuItem>
<MenuItem Text="Menu212">
</MenuItem>
<MenuItem Text="Menu213">
</MenuItem>
</MenuItem>
<MenuItem Text="Menu22">
</MenuItem>
<MenuItem Text="Menu23">
</MenuItem>
<MenuItem Text="Menu24">
<MenuItem Text="Menu241">
<MenuItem Text="Menu2411">
</MenuItem>
<MenuItem Text="Menu2412">
</MenuItem>
<MenuItem Text="Menu2413">
</MenuItem>
</MenuItem>
<MenuItem Text="Menu242">
</MenuItem>
<MenuItem Text="Menu243">
</MenuItem>
<MenuItem Text="Menu244">
</MenuItem>
</MenuItem>
</MenuItem>
<MenuItem Text="Menu3">
</MenuItem>
</Menu>
这是menu.xml 文件
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="Menu | MenuItem">
<HTML>
<HEAD>
<TITLE> 无限菜单之 xml+popup 版(IE5.5+)  --宝玉(webuc.net)</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<meta name="Author" content="宝玉(webuc.net)" />
<meta name="Description" content="使用ie5.5+中的popup结合xml创建的无限菜单——菜单可以超出浏览器区域、可以不用担心会被下拉选择框等东西挡住" />
<style>
body,td{
font-size:9pt;
}
.PopMenuOutset{border:1px solid;border-color: buttonface threeddarkshadow threeddarkshadow buttonface;FILTER: progid:DXImageTransform.Microsoft.Shadow(direction=135,color=buttonshadow,strength=3); }
.PopMenuInset{border:1px solid;border-color: buttonhighlight buttonshadow buttonshadow buttonhighlight;}
.PopMenu{background-color: buttonface;}
.PopMenuItem{height:18px;cursor:default;}
.PopMenuItemOver{height:18px;background-color: highlight;color:highlighttext;cursor:default;}
.PopMenuItemOver img{height:18px;background-color: highlight;color:highlighttext;cursor:default;}
</style>
</HEAD><BODY leftmargin="0" topmargin="0" scroll="no" style="border:0">
<script>
<![CDATA[
// 当前展开的菜单项
var preObj = null;// 创建当前窗体(可以是IE窗体也可以是Popup窗体)的Popup对象
// 这个Popup对象就是用来存储子菜单数据的
var oPopup = document.parentWindow.createPopup(); // 装载xsl
var stylesheet = new ActiveXObject("Microsoft.XMLDOM");
stylesheet.async = false;
stylesheet.load( "menu.xsl" ); // 预装载图片
var img = new Image;
img.src = "images/ArrowRHighlight.gif";function ItemClick(obj)
{
ItemOver(obj);
}// 鼠标经过菜单项
function ItemOver(obj)
{
// 隐藏已经打开的菜单项
if (preObj != null)
{
if (preObj == obj)
return;
oPopup.hide();

// 要清空原Popup中的数据——document.write()方法是接着原来的内容往里面写,所以如果不清空会出现重复数据
oPopup = document.parentWindow.createPopup();

// 恢复前一个菜单项的状态
ItemNormal(preObj);
preObj = null;
} obj.className='PopMenuItemOver';
if (obj.cells(2).children.length > 0) //有子菜单
{
obj.cells(2).children(0).src = "images/ArrowRHighlight.gif"; // 获取子菜单xml数据
var subMenuData = obj.all.tags("xml")(0).XMLDocument;

// 根据子菜单xml数据和当前xsl文档生成HTML
var sHtml = subMenuData.transformNode(stylesheet);
// 将解析出来的HTML全部输出到Popup中,在Popup中,又可以利用这些脚本再Popup……
oPopup.document.write(sHtml);  // 计算popup内容的实际宽度高度
oPopup.show(0, 0, 1, 1, obj);
var width = oPopup.document.body.scrollWidth;
var height = oPopup.document.body.scrollHeight;
oPopup.hide(); // 显示菜单
oPopup.show(obj.offsetWidth, 0, width, height, obj);

preObj = obj;
}
}// 鼠标移出菜单项
function ItemOut(obj)
{
if (oPopup.isOpen && preObj == obj) // 如果子菜单被打开则跳过
return;
ItemNormal(obj);
}// 恢复到菜单项的默认状态
function ItemNormal(obj)
{
obj.className='PopMenuItem';
if (obj.cells(2).children.length > 0)
{
obj.cells(2).children(0).src = "images/ArrowR.gif";
}
}
]]>
</script>
<table border="0" cellpadding="0" cellspacing="0" width="110" class="PopMenuOutset">
<tr>
<td>
<table border="0" cellpadding="1" cellspacing="0" width="100%" class="PopMenuInset">
<tr>
<td class="PopMenu">
<table border="0" cellpadding="0" cellspacing="0" width="100%" onselectstart="return false;">
<!-- 遍历子菜单 -->
<xsl:for-each select="MenuItem">
<tr height="18" onmouseover="ItemOver(this)" onmouseout="ItemOut(this);" onclick="ItemClick(this)">
<td width="17" align="center">
<IMG SRC="images/dot1.gif" WIDTH="6" HEIGHT="6" BORDER="0" ALT=""/>
</td>
<td>

<a><xsl:attribute name="href"><xsl:value-of select="@href" /></xsl:attribute>
<xsl:value-of select="@Text" />
<xsl:if test="count(MenuItem) > 0">
<!-- 这里用来存储子菜单的xml数据 -->
<xml>
<xsl:copy-of select="."/>
</xml>
</xsl:if>
</a>


</td>
<td width="20" align="right" valign="top" style="padding-right: 6px; padding-top:4px;">
<!-- 如果有子菜单则显示箭头 -->
<xsl:if test="count(MenuItem) > 0">
<img src="images/arrowR.gif"/>
</xsl:if>

</td>
</tr>
</xsl:for-each>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</BODY>
</HTML>
</xsl:template></xsl:stylesheet>这是menu.xsl 文件 
  我想做个菜单  我一级是可以连结 可二级三级...多不能连结是什么问题??