首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

xsl怎么遍历嵌套节点

2013-09-05 
xsl如何遍历嵌套节点本帖最后由 QQ154485585 于 2013-08-20 13:44:28 编辑如何遍历嵌套的所有m节点,现在

xsl如何遍历嵌套节点
本帖最后由 QQ154485585 于 2013-08-20 13:44:28 编辑 如何遍历嵌套的所有<m>节点,现在只能得到第一层子节点,方式有点别扭,哪位有更好的方法?
xml如下:


<?xml version="1.0" encoding="utf-8"?>
  <ms>
    <m n="腾讯">
      <m n="财经">
        <m n="黄金" u="http://finance.qq.com/l/gold/hjzx/index.htm">
          <t>
            <s>&lt;title&gt;</s>
            <e>&lt;/title&gt;</e>
          </t>
          <b>
            <s i="0">&lt;div id="Cnt-Main-Article-QQ" bossZone="content"&gt;</s>
            <e i="0">&lt;div class="page-Article-QQ" id="ArtPLink" bossZone="artPage"&gt;</e>
          </b>
        </m>
      </m>
    </m>
    <m n="新浪">
      <m n="科技"/>
      <m n="财经"/>
    </m>
  </ms>

xsl如下:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl" xmlns:user="qin">
  <xsl:output method="xml" indent="yes"/>
  <xsl:template match="ms">
    <ul id="Ci1" class="Ts">
      <xsl:for-each select="m">
        <li><xsl:value-of select="@n"/><xsl:if test="not(@u)">
          <xsl:apply-templates select="m"/>
        </xsl:if>
        </li>
      </xsl:for-each>
    </ul>
  </xsl:template>
  <xsl:template match="m">    


    <ul><xsl:for-each select="."><li><xsl:value-of select="@n"/></li></xsl:for-each></ul>
  </xsl:template>
</xsl:stylesheet>


结果如下:
<ul id="Ci1" alt="xsl怎么遍历嵌套节点" />

热点排行