【发布时间】:2013-05-28 20:54:01
【问题描述】:
我有一个像下面这样的xml,我想做的是使用匹配模板获取父元素的文本节点。
<xml>
<para>
<text>
para 1
</text>
<para>
<text>
para 2
</text>
</para>
</para>
</xml>
我的 xslt 如下所示
<xsl:template match="para">
<xsl:value-of select="../para/text/text()"/>
</xsl:template>
对于第一个 para 节点,它不会返回任何好的文本,但对于第二个节点,它会返回 para 1 para 2,因为它应该只返回 para 1。任何帮助或提示如何实现这一点?
【问题讨论】:
-
我修复了您的缩进以正确显示嵌套。这还是你想要的吗?如果这是整个 XSL,则根本不会看到第二个
<para>,因为当模板与外部<para>匹配时,它会被“消耗”,除非您在其他地方有apply-templates。事实上,您看到的输出来自匹配 first<para>。请发布足够多的 XSLT,以便我们可以看到真正正在发生什么。没有它,这个问题就无法回答。
标签: xslt