Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查XML 1.0中节点中的特定值不起作用_Xml_Xslt_Xml Parsing_Xslt 1.0 - Fatal编程技术网

检查XML 1.0中节点中的特定值不起作用

检查XML 1.0中节点中的特定值不起作用,xml,xslt,xml-parsing,xslt-1.0,Xml,Xslt,Xml Parsing,Xslt 1.0,我试图获取XML文件中的特定值,并通过使用when-test更改匹配的文本 问题是它实际上没有得到它 XSL: <xsl:template match="/root/system/coolname"> <xsl:choose> <xsl:when test=".='coolynamey'"> <xsl:text>Male</xsl:text> </xsl:when>

我试图获取XML文件中的特定值,并通过使用when-test更改匹配的文本

问题是它实际上没有得到它

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>
<root>
  <system>
     <coolname>coolynamey</coolname>
  </system>
</root>

男性
女性
XML:

<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>
<root>
  <system>
     <coolname>coolynamey</coolname>
  </system>
</root>

库利纳米
所以我想要的是:如果节点包含coolynamey,则将其更改为Male。如果不是,则将其设为女性。它现在所做的是输出“女性”,而不是男性,即使“酷女”存在


嗯,对我不起作用。谢谢你,米勒先生

好吧,这是一个微不足道的转换,我相信它会起作用

输入1

<root>
  <system>
     <coolname>coolynamey</coolname>
  </system>
</root>
Male
输出2

<root>
  <system>
    <coolname>somethingelse</coolname>
</system>
</root>
Female

对我有用。我无法用Saxon 6.5.5重现您的发现。您能显示您正在使用的实际XML输入吗?您拥有的一个没有
coolynamey
节点。也许你转换了错误的来源?嗯,对我来说不起作用。无论如何,谢谢你,米勒先生。@helderdarocha它自己变成了0.0,很奇怪,但无论如何,我编辑了它。这是真实的源代码。请始终发布完整的XSLT样式表。否则就无法诊断问题。