使用XSLT更新元素的文本

时间:2015-04-10 15:43:44

标签: xml xslt

我的xml看起来像这样:

<san>
<sanUrunler>
<UrunStokDurum>Stokta Değil</UrunStokDurum>
</sanUrunler>
<sanUrunler>
<UrunStokDurum>Stokta Var</UrunStokDurum>
</sanUrunler>
</san>

我尝试xslt看起来像这样,但这不是vwrking

<Durumu>
    <xsl:for-each select="Censan/CensanUrunler">
        <xsl:if test="UrunStokDurum='Stokta Var'">
            <xsl:value-of select="'true'"/>
        </xsl:if>
    </xsl:for-each>
<Durumu>

如果写入'Stokta Var'值<UrunStokDurum>,则选择true,否则为false

P.S。对不起我的英文

1 个答案:

答案 0 :(得分:0)

您的xsl:for-each循环未在输入XML中选择任何内容:它看起来像 对于Censan/CensanUrunlur而您的输入XML具有san/sanUrunlur

它不是很清楚您需要什么,但为了打印“真”或“假”,您可以执行以下操作:

<xsl:template match="/">
<Durumu>
  <xsl:for-each select="san/sanUrunler">
      <xsl:choose>
        <xsl:when test="UrunStokDurum='Stokta Var'">
          <xsl:value-of select="'true'"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="'false'"/>
        </xsl:otherwise>
      </xsl:choose>
  </xsl:for-each>
</Durumu>
</xsl:template>

结果有点滑稽,因为它看起来像<Durumu>falsetrue</Durumu>。如果您提供了所需的更多信息,我们可以尝试提供帮助。