XML + XSLT转换中的多行表示

时间:2013-07-16 11:11:42

标签: xml xslt transformation

我使用XSLT转换创建XML,有时XML传递的数据应该在更多行上对齐。
关键是,如果我在XML中编写多行,并且我尝试用“br”html标记替换换行符(\ n),则不会发生这种情况。
在转换过程中,br标签似乎被忽略了。

 // xml part  
 <description>
 two of our <br/> famous Belgian Waffles<br/>
 with plenty of real maple syrup
 </description> 

 // xslt part
 <xsl:value-of select="description"/>

在.xslt文件中插入“br”标签它可以工作,但它不适合我的情况 - 插入新行标签的动态行为。

您是否知道使用多行生成html但使用来自.xml的“新行”字符数据的解决方法?

1 个答案:

答案 0 :(得分:0)

xsl:value-of 元素返回description元素中的所有文本元素。由于 br 标记不是文本元素,因此会忽略这些标记,而不会将其复制到html。

使用

<xsl:copy-of select="description"/> 

xsl:copy-of 复制完整的子树,文本和所有嵌入的元素。因此 br 标记将保留在输出中。