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
Xslt 打印列表中匹配元素的当前值_Xslt_Xslt 2.0 - Fatal编程技术网

Xslt 打印列表中匹配元素的当前值

Xslt 打印列表中匹配元素的当前值,xslt,xslt-2.0,Xslt,Xslt 2.0,我构建了自定义xsl来循环xml列表,并检查给定id是否与该xml中的某个id匹配,然后它将打印自己的属性 请帮我实现它 XML 1. 2. XSL 不幸的是,我打印了所有公司的名称,这在上面的示例中是不正确的,因为&T应该只打印 有什么想法吗?使用 <xsl:value-of select="@name"/> 而不是 <xsl:value-of select="companies/company/@Name"/>

我构建了自定义xsl来循环xml列表,并检查给定id是否与该xml中的某个id匹配,然后它将打印自己的属性

请帮我实现它

XML


1.
2.
XSL


不幸的是,我打印了所有公司的名称,这在上面的示例中是不正确的,因为&T应该只打印

有什么想法吗?

使用

<xsl:value-of select="@name"/>

而不是

<xsl:value-of select="companies/company/@Name"/>

关于其他方面的第二个问题

使用方法如下:

 <xsl:choose>
                <xsl:when test="ID = $ID">
                    <Name>
                        <xsl:value-of select="@name"/>
                    </Name>
                </xsl:when>
                <xsl:otherwise>
                    <!-- Add Your Process -->
                </xsl:otherwise>
            </xsl:choose>
        </xsl:for-each>


“不幸的是,我把所有公司的名字都打印出来了”,而不是你在这里发布的代码。您将得到的只是XML上的一个错误和XSLT上的一个空
Name
元素。我如何应用其他部分?当我添加其他部分时,它将所有情况下的所有标记(当标记和其他标记)一起打印。您在其他部分中的要求是什么?
<xsl:value-of select="companies/company/@Name"/>
 <xsl:choose>
                <xsl:when test="ID = $ID">
                    <Name>
                        <xsl:value-of select="@name"/>
                    </Name>
                </xsl:when>
                <xsl:otherwise>
                    <!-- Add Your Process -->
                </xsl:otherwise>
            </xsl:choose>
        </xsl:for-each>