CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  XML/SOAP

xsl解析xml后的超链接属性为何没有起到作用?

楼主zouzou888888(zou)2006-03-02 11:42:56 在 Web 开发 / XML/SOAP 提问

本人在利用xsl解析xml数据时,加入超链接属性,结果结果看到超链接属性没有起作用,但属性确实解析成功了。  
  样式表如下:  
  重点看<li>中的<a>。  
   
  <?xml   version="1.0"?>  
  <xsl:stylesheet   version="1.0"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
  <xsl:param   name="MenuKind"   select="0"   />  
  <xsl:template   match="//Menus">  
  <div   id="menu">  
  <ul>  
  <li   id="leftGif"></li>  
  <xsl:for-each   select="/Menus/menu[@ParentMenuId=0]">  
    <li>  
    <a>  
    <xsl:attribute   name="herf"><xsl:value-of   select="@MenuHerf"/></xsl:attribute>  
    <xsl:attribute   name="title"><xsl:value-of   select="@MenuHint"/></xsl:attribute>  
    <xsl:value-of   select="@MenuTitle"></xsl:value-of>  
    </a>  
    </li>  
    <li   id="centerGif"></li>  
  </xsl:for-each>  
  <li   id="rightGif"></li>  
  </ul>  
  </div>  
  </xsl:template>  
  </xsl:stylesheet>  
   
  经过上面解析后,  
  得到的部分对应的html代码为:  
  <div>  
  <ul>  
  <li><a   here="#"   title="aa">hehe</a>  
  </li>  
  </ul>  
  </div>  
  但是页面上的hehe没有超链接。  
   
  请各位大侠指点。 问题点数:20、回复次数:9Top

1 楼skyhaha(内存严重不足)回复于 2006-03-02 14:58:03 得分 0

xml内容写出来看看撒Top

2 楼goodboy1881(积木)(谁都别拦着我在水源升星)回复于 2006-03-02 19:01:05 得分 0

没有xml,啥也看不出来。Top

3 楼zouzou888888(zou)回复于 2006-03-06 14:55:21 得分 0

xml部分内容  
  <?xml   version="1.0"   encoding="gb2312"?>  
  <!--DOCTYPE   Navi   SYSTEM   "NAVIGATOR.dtd"-->  
  <?xml-stylesheet   type="text/xsl"   href="Nav.xsl"?>  
  <Menus>  
  <menu   ID='0'   MenuType='1'   MenuTitle='Index'   ParentMenuId='0'   MenuHerf='#'   MenuImg=''   MenuHint='Index'/>  
  <menu   ID='1'   MenuType='1'   MenuTitle='News'   ParentMenuId='0'   MenuHerf='#'   MenuImg=''   MenuHint='News'/>  
  </Menus>Top

4 楼goodboy1881(积木)(谁都别拦着我在水源升星)回复于 2006-03-06 15:06:16 得分 0

给换成一个真实地链接呢?Top

5 楼zouzou888888(zou)回复于 2006-03-06 19:19:15 得分 0

换成真实的连接也不行。。。  
  请各位大侠急救。。。Top

6 楼cds27(http://blog.csdn.net/cds27/)回复于 2006-03-07 17:54:42 得分 15

属性写错了。  
  下面代码中:  
  <a>  
    <xsl:attribute   name="herf"><xsl:value-of   select="@MenuHerf"/></xsl:attribute>  
    <xsl:attribute   name="title"><xsl:value-of   select="@MenuHint"/></xsl:attribute>  
    <xsl:value-of   select="@MenuTitle"></xsl:value-of>  
    </a>  
   
  的<xsl:attribute   name="herf">,herf是错误的,正确应该为href。Top

7 楼goodboy1881(积木)(谁都别拦着我在水源升星)回复于 2006-03-07 18:59:18 得分 5

我以为这些都是笔误呢~~~~~  
  后面的那个给出的转换也是错的,结果就没有合计能写错。。。  
  <li><a   here="#"   title="aa">hehe</a>Top

8 楼zouzou888888(zou)回复于 2006-03-07 19:05:10 得分 0

hehe!谢谢。这些代码辛苦写了半天。发现这种笔误真是要命。!惭愧惭愧!  
  多谢楼上。!Top

9 楼zouzou888888(zou)回复于 2006-03-07 19:18:54 得分 0

另外,为什么在css中定义了div中ul   li的属性。在xsl中引用样式class时,在IE预览时效果挺好,但在localhost/demo/index.aspx访问时css中的属性没有起作用。  
   
  以下是部分css代码:  
  div.childNavMenu  
  {  
      margin:8px   0px   0px   20px;  
      width:80px;  
  /* height:expression(body.offsetHeight-125);*/  
  padding:0px;  
   
       
  }  
  /*三级导航菜单超链接的样式   */  
  div.childNavMenu   a  
  {  
    display:block;  
    width:80px;  
            cursor:hand;  
    margin-left:10px;  
    margin-right:10px;  
    color:   Black;  
    text-decoration:none;  
    list-style:none;  
     
  }  
  div.childNavMenu   a:hover  
  {  
  text-decoration:none;  
          background:#6bb1f7;  
   
  }  
  div.childNavMenu   ul  
  {  
   
  list-style:none;  
  padding:0px;  
  margin:0px;  
   
  }  
  div.childNavMenu   li  
  {  
   
  font-size:12px;  
  border:solid   1px   #3B5298;  
  margin-top:2px;  
  margin-bottom:5px;  
  width:80px;  
  padding-left:10px;  
  padding-top:2px;  
  padding-bottom:4px;  
  text-align:left;  
  background:#5d82c6   url(../topimage/childMenubg2.gif)     repeat   left;  
  }  
   
  部分xsl代码:  
  <div   class="childNavMenu">  
   
  <xsl:attribute   name="id">childmenu<xsl:value-of   select="positio()"   /></xsl:attribute>  
        <ul>  
                          <xsl:for-each   select="/Menus/menu[@ParentMenuId=$Id]">  
        <xsl:if   test="@MenuType[.>2]">  
  <li>  
      <a><xsl:attribute   name="href">  
        <xsl:value-of   select="@MenuHerf"/></xsl:attribute>  
  <xsl:value-of   select="@MenuTitle"></xsl:value-of>  
      </a>  
  </li>  
  </xsl:if>  
  </xsl:for-each>  
  </ul>  
  </div>  
   
  用IE浏览时可以看到效果,ul中的list-style:none属性有效,但用localhost/demo/index.aspx访问样式完全变了,list-style:none属性无效了。出现列表的点点了。  
  请大侠继续指教。Top

相关问题

  • 急:如何在xsl解析时获得正在解析的xml文件的最后保存属性
  • jdom如何解析属性里有冒号的XML?谢谢!
  • 有如下XML文档,如何解析其中的属性?
  • 用XSL 解析 XML 后出现乱码
  • 送分:如何在xsl解析时获得正在解析的xml文件名?
  • xml解析
  • xml解析
  • PHP解析XML
  • ======XML属性问题===========
  • 如何使用XSL读取XML中某一节点的某个属性-属性名称为变量!!!

关键词

  • 属性
  • 代码
  • 样式
  • xsl
  • xml
  • childnavmenu
  • 解析
  • px
  • hehe
  • margin

得分解答快速导航

  • 帖主:zouzou888888
  • cds27
  • goodboy1881

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo