我正在尝试获取XML文件中的特定值,并在测试时使用匹配时更改文本。
问题在于它实际上并没有得到它。
XSL:
<xsl:template match="/root/system/coolname">
<xsl:choose>
<xsl:when test=".='coolynamey'">
<xsl:text>Male</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>Female</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
XML:
<root>
<system>
<coolname>coolynamey</coolname>
</system>
</root>
所以我想要的是:如果节点包含coolynamey,则将其更改为Male。如果没有,请将其设为女性。现在它做的是输出“女性”而不是男性,即使存在“coolynamey”。
答案 0 :(得分:2)
嗯。对我不起作用。无论如何,谢谢Müller先生。
嗯,这是一个微不足道的转变,我相信它有效。
输入1
<root>
<system>
<coolname>coolynamey</coolname>
</system>
</root>
输入2
<root>
<system>
<coolname>somethingelse</coolname>
</system>
</root>
<强>样式表强>
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="text"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/root/system/coolname">
<xsl:choose>
<xsl:when test=".='coolynamey'">
<xsl:text>Male</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>Female</xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:transform>
输出1
Male
输出2
Female