XSL可变数量的子节点

时间:2009-11-07 13:54:22

标签: xslt xpath

我有一些附加了数字的XML元素,因为有更多可用的元素。

如:

<Images>
    <Image1>C:\Path\To\AnImage</Image1>

    <Image2>C:\Path\To\AnotherImage</Image2>
</Images>

每个XML文档中的图像数量是可变的。如何确保我的XSL文件将显示标记内的所有元素?

我还想将每个ImageX标记内的每个字符串放在一个带有XSL的Img src =“stringfromxmlelement”中?这可能吗?

2 个答案:

答案 0 :(得分:7)

<xsl:template match="Images/*[starts-with(name(),'Image']">
<img src="{.}" />
</xsl:template>
BTW,也许你不能改变XML标签名称,但最好将内部标签命名为Image而不是ImageX,这可能是不必要的。

答案 1 :(得分:1)

我会尝试这些方法:

<xsl:template match="Images">
  <xsl:for-each select="*">
    <img src="{text()}" />
  </xsl:for-each>
</xsl:template>