XSLT for-each,遍历文本和节点

时间:2013-03-18 14:33:09

标签: xslt text foreach

我还在学习XSLT,并对for-each循环有疑问。

这就是我所拥有的XML

<body>Here is a great URL<link>http://www.somesite.com</link>Some More Text</body>

我想要的是for-each循环遍历这些块 这是一个很棒的网址 2. http://www.somesite.com 3.更多文字

这可能很简单,也可能不可能,但如果有人能帮助我,我会很感激!

谢谢, 迈克尔

1 个答案:

答案 0 :(得分:1)

您应该可以使用以下内容执行此操作:

<xsl:for-each select=".//text()">
  <!-- . will have the value of each chunk of text. -->
  <someText>
    <xsl:value-of select="." />
  </someText>
</xsl:for-each>

或者这可能是首选,因为它允许您拥有一个可以从多个不同位置调用的模板:

<xsl:apply-templates select=".//text()" mode="processText" />
<xsl:template match="text()" mode="processText">
  <!-- . will have the value of each chunk of text. -->
  <someText>
    <xsl:value-of select="." />
  </someText>
</xsl:for-each>