输入:
<A>
<T1>
<element1>e1</element1>
<element2>e2</element2>
<element3>e3</element3>
<element5>e5</element5>
</T1>
<T1>
<element4>e4</element4>
</T1>
<T1>
<element1>e1</element1>
<element2>e2</element2>
<element3>e3</element3>
<element5>e5</element5>
</T1>
<T1>
<element1>e1</element1>
<element2>e2</element2>
<element3>e3</element3>
<element5>e5</element5>
</T1>
<T1>
<element4>e4</element4>
</T1>
<T1>
<element4>e4</element4>
</T1>
</A>
这里我们需要对 T1 元素执行循环。此 T1 中存在 5 个元素。我们需要连接所有元素。我们需要以下输出。请查看此内容。
输出:
<T1>e1e2e3e4e5</T1>
<T1>e1e2e3e5</T1>
<T1>e1e2e3e4e5</T1>
<T1>e4</T1>
我尝试了下面的 xslt,但它连接了所有循环。
XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="A/T1">
<xsl:value-of select='concat(element1,element2,element3,element4,element5)'/>
</xsl:template>
<xsl:template match="text()"/>
<xsl:template match="/">
<T1>
<xsl:apply-templates select="A/T1"/>
</T1>
</xsl:template>
</xsl:stylesheet>
上面的 xslt 给出了类似的输出。
<T1>e1e2e3e5e4e1e2e3e5e1e2e3e5e4e4</T1>