如何遍历每个值

时间:2012-08-25 00:05:26

标签: xml xslt xsd xslt-2.0

所以我有这个.inc文件,它有一组<li>个元素,比如

<li class="closed"><a title="x" href="x.html">x</a></li>
<li class="closed"><a title="y" href="y.html">y</a></li>
<li class="closed"><a title="z" href="a.html">z</a></li>

我可以使用以下XSL代码获取每个值:

<xsl:variable name="vText" select="unparsed-text('/abc/abcd/leftnav.inc')"/>
<xsl:variable name="vExtracted" as="xs:token*">
  <xsl:analyze-string select="$vText" regex="&gt;([^&lt;]*)&lt;/a&gt;" flags="m">
    <xsl:matching-substring>
      <xsl:value-of select="regex-group(1)"/>
    </xsl:matching-substring>
  </xsl:analyze-string>
</xsl:variable>

所以现在如果我想打印每个值,我会使用类似的东西:

<xsl:value-of select="$vExtracted[1]"/><br/>
<xsl:value-of select="$vExtracted[2]"/><br/>
<xsl:value-of select="$vExtracted[3]"/><br/>
.
.
and so on which outputs like:
x
y
z 

我的问题是如何循环浏览$ vExtracted并打印所有值?

1 个答案:

答案 0 :(得分:4)

使用

<xsl:for-each select="$vExtracted">
  <xsl:value-of select="."/><br/>
</xsl:for-each >