0

我在 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>

谁能帮我解决这个问题。

谢谢

理查德

4

1 回答 1

3

而不是这样做......

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

改为这样做....

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

这将单独迭代模型元素,这是您所需要的。

于 2012-08-15T11:25:12.740 回答