xslt 1.0 如何转换 <变成比言语少



>我有以下XML

    <node>
    <operator>&lt;</operator>
<value>2</value>
    </node>
    <node>
    <operator>&gt;</operator>
<value>1.1</value>
    </node>.....

我需要按如下方式转换它小于 2大于 1.1

我尝试使用以下代码,但它没有按预期工作。

有什么建议吗?

<xsl:variable name="lt">
 <xsl:text disable-output-escaping="yes">&lt;</xsl:text>
</xsl:variable>
<xsl:variable name="ConditionalDoseOperator">
<xsl:choose>
    <xsl:when test="operator=$lt">
    <xsl:value-of select="Lessthan" />
    </xsl:when>
    </xsl:choose>
 </xsl:variable>                                      
<xsl:value-of select="$ConditionalDoseOperator" />

我期待看到Lessthan的文字,但它是空白的内容。

我建议用简单的方式做:

<xsl:for-each select="node">
    <xsl:choose>
        <xsl:when test="operator='&lt;'">less than</xsl:when>
        <xsl:when test="operator='&gt;'">greater than</xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="operator"/>
        </xsl:otherwise>
    </xsl:choose>
    <xsl:text> </xsl:text>
    <xsl:value-of select="value"/>
    <xsl:text>&#10;</xsl:text>
</xsl:for-each>

相关内容

  • 没有找到相关文章

最新更新