【问题标题】:Display CDATA with XSLT使用 XSLT 显示 CDATA
【发布时间】:2015-03-15 10:21:34
【问题描述】:

我正在使用一个保龄球网站和一个为管理我们的保龄球联赛分数而编写的软件程序。该软件还允许我们在保龄球联赛的最后一天写一篇文章。现在我将这篇文章复制到网站上的 HTML 模块中,但由于它也在与分数相同的 XML 输出文件中实现,所以我也想用 XSLT 将它取出。我只是不知道这个命令是什么......所以我没有正在使用的 XSLT 文件。如果我在这里或在 google 上查找它,似乎有很多方法可以做到这一点,但每次还有一堆其他代码,我仍然是初学者...... 有人可以帮帮我吗?

<Infos>
    <Info>
        <Title><![CDATA[THIS IS THE TITLE OF THE ARTICLE]]></Title>
        <Text><![CDATA[THIS THE ARTICLE]]></Text>
    </Info>
</Infos>

【问题讨论】:

  • XSLT 无论如何都看不到 CDATA 部分,但您的问题的真正问题是:我不知道您在问什么。请更清楚地解释您的问题是什么,并显示预期的输出(我猜是 HTML)。
  • CDATA 片段包含文本,我希望它在应用 XSLT 后显示并使用 XSLT 确定文本结果(粗体、斜体和下划线)
  • 如果您不知道要将输入转换为什么,恐怕我们无法帮助您。

标签: html xml xslt cdata


【解决方案1】:

CDATA 片段包含文本,我希望它在应用后显示 XSLT 并确定文本结果(粗体、斜体和下划线) XSLT

以下样式表:

XSLT 1.0

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8" indent="yes"/>

<xsl:template match="/Infos">
    <html>
        <body>
            <xsl:apply-templates select="Info"/>
        </body>
    </html>      
</xsl:template>

<xsl:template match="Info">
    <h2><xsl:value-of select="Title" /></h2>
    <i><xsl:value-of select="Text" /></i>
</xsl:template>

</xsl:stylesheet>

当应用于您的示例输入时,将产生以下结果

<html>
   <body>
      <h2>THIS IS THE TITLE OF THE ARTICLE</h2>
      <i>THIS THE ARTICLE</i>
   </body>
</html>

渲染为:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多