XSLT多个CDATA部分

时间:2012-08-15 11:18:47

标签: xslt

我在XLST中有点新手,但是我遇到了一个问题,让我的头发脱落。我有一个看起来像这样的XML查找文件....

<car make='honda'>
    <model>
        <![CDATA[I am a civic]]>
    </model>
    <model>
        <![CDATA[I am a CRV]]>
    </model>
</car>

使用XSLT样式表我正在传递我的主文件,然后转到此查找文件并尝试显示CDATA部分中的内容......

<xsl:for-each select="document('lookup.xml')/car[@make='honda']">
    <p><xsl:value-of select="." /></p>
</xsl:for-each>

我遇到的问题是CDATA中的文本一起返回。例如,此代码目前生成......

<p>
I am a civic
I am a CRV
</p>

但我真的很想......

<p>I am a civic</p>
<p>I am a CRV</p>

任何人都可以帮我解决这个问题。

由于

理查德

1 个答案:

答案 0 :(得分:3)

而不是这样做....

<xsl:for-each select="document('lookup.xml')/car[@make='honda']"> 

这样做......

<xsl:for-each select="document('lookup.xml')/car[@make='honda']/model"> 

这将分别迭代模型元素,这正是您所需要的。