gpt4 book ai didi

html - 通过 XSL 在 HTML 表格中添加换行符

转载 作者:数据小太阳 更新时间:2023-10-29 02:27:17 24 4
gpt4 key购买 nike

我通过 XSL 将 XML 文件转换为 HTML。在我的 html 表中,我有一个列,我需要在其中为我的一个 xml 元素标签中的每个条目将单元格的内容分成一个新行。

我不确定如何为此设置 xml 文件。这是我为我的 html 文件考虑的输出:

<info>
line1<br/>
line2<br/>
line3<br/>
line4
</info>

什么在 xsl 部分对我不起作用:

    <td>
<xsl:for-each select="info">
<xsl:value-of select="." /> <br/>
</xsl:for-each>
</td>

我试过用 <ul> 包裹 xml 中的行和 <li>但这没有用。我认为这是我出错的 xsl 部分。如果我放一个 <br/>在 value-of 语句之后,它将输出所有内容,然后添加 <br/>但我当然想要 <br/>对于每个条目。

我希望你能告诉我如何正确设置它。

最佳答案

这个转换:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes"/>
<xsl:strip-space elements="*"/>

<xsl:template match="info/*[position() > 1]">
<br /><xsl:text>&#xA;</xsl:text>
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>

应用于以下 XML 文档时(因为问题中没有提供源 XML 文档):

<info>
<t>line1</t>
<t>line2</t>
<t>line3</t>
<t>line4</t>
<t>line5</t>
</info>

产生想要的结果(<info> 有意不生成,因为这不是 HTML 元素):

line1<br/>
line2<br/>
line3<br/>
line4<br/>
line5

注意 1:此转换经验证可以使用我的所有 XSLT 1.0 和 2.0 处理器生成完全相同的结果:MSXML3、MSXML4、MSXML6、.NET XslCompiledTransform、.NET XslTransform、Saxon 6.5。 4、XML-SPY、Saxon 9.1.05、XQSharp、AltovaXML2011(XSLT 2.0 的 XML-SPY)。

注意 2:如果您真的想要将结果包装成 <info>元素,只需添加此模板:

 <xsl:template match="info">
<info>
<xsl:text>&#xA;</xsl:text><xsl:apply-templates/><xsl:text>&#xA;</xsl:text>
</info>
</xsl:template>

关于html - 通过 XSL 在 HTML 表格中添加换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10985779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com