我遇到了一个问题,我必须在循环中动态替换字符串。我必须将XML转换为HTML。
XML 结构为:
<FUNCTION ID="XYZ" UNIT_TYPE="percent"/>
<STRING_LITERAL><![CDATA[1143]]></STRING_LITERAL>
<STRING_LITERAL><![CDATA[1]]></STRING_LITERAL>
<STRING_LITERAL>NULL</STRING_LITERAL>
<STRING_LITERAL>NULL</STRING_LITERAL>
<STRING_LITERAL><![CDATA[Prepaid]]></STRING_LITERAL>
<STRING_LITERAL>NULL</STRING_LITERAL>
<BOOLEAN>true</BOOLEAN>
<BOOLEAN>true</BOOLEAN>
<STRING_LITERAL>NULL</STRING_LITERAL>
<STRING_LITERAL>NULL</STRING_LITERAL>
<STRING_LITERAL>NULL</STRING_LITERAL>
<STRING_LITERAL>NULL</STRING_LITERAL>
</FUNCTION>
预期的 HTML 输出为:
Scheme : 1143
Payout : 1
Deposit: Prepaid
Target : true
Is Reprotable : true
我在以下位置检查了解决方案:xslt 1.0字符串替换函数,但在这种情况下无法应用它。请帮忙。
我不太清楚你想做什么。但是,一个非常简单的 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 encoding="UTF-8" method="html" indent="yes"/>
<xsl:template match="/">
<html>
<head>
<title>test</title>
</head>
<body>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="FUNCTION">
<p>
<xsl:text>Scheme : </xsl:text>
<xsl:value-of select="STRING_LITERAL[1]"/>
<br/>
<xsl:text>Payout : </xsl:text>
<xsl:value-of select="STRING_LITERAL[2]"/>
<br/>
<xsl:text>Deposit : </xsl:text>
<xsl:value-of select="STRING_LITERAL[5]"/>
</p>
<p>
<xsl:text>Target : </xsl:text>
<xsl:value-of select="BOOLEAN[1]"/>
<br/>
<xsl:text>Is Reprotable : </xsl:text>
<xsl:value-of select="BOOLEAN[2]"/>
</p>
</xsl:template>
</xsl:stylesheet>