我有以下XML
<node>
<operator><</operator>
<value>2</value>
</node>
<node>
<operator>></operator>
<value>1.1</value>
</node>.....
我需要将其转换如下 Lessthan 2 Greaterthan 1.1
我尝试使用下面的代码,但它没有按预期工作。
有什么建议吗?
<xsl:variable name="lt">
<xsl:text disable-output-escaping="yes"><</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" />
我期待在文字中看到莱斯坦,但这是空白的内容。
答案 0 :(得分:0)
我建议这样做的方法很简单:
<xsl:for-each select="node">
<xsl:choose>
<xsl:when test="operator='<'">less than</xsl:when>
<xsl:when test="operator='>'">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> </xsl:text>
</xsl:for-each>