Xml 如何按参数筛选节点,然后应用位置()!=结果如何?

Xml 如何按参数筛选节点,然后应用位置()!=结果如何?,xml,xslt,xpath,Xml,Xslt,Xpath,对不起,我对XPath很在行。所以,这是我的问题。假设我们有这样的结构 <structure> <item filter=0>1 do not display</item> <item filter=1>2 display</item> <item filter=1>3 display</item> <item filter=0>4 do not display</ite

对不起,我对XPath很在行。所以,这是我的问题。假设我们有这样的结构

<structure>
   <item filter=0>1 do not display</item>
   <item filter=1>2 display</item>
   <item filter=1>3 display</item>
   <item filter=0>4 do not display</item>
</structure>

1不显示
2显示器
3显示
4不显示
如何应用过滤器
结构[filter=1]
并从结果数据中仅选择第一个元素? 我想它将类似于
结构[filter=1][position()=1]

PS:请推荐在线xlst测试工具


谢谢你。

你几乎是自己做的

/*/item[@filter = 1][1]
看一看这个例子(仅为清楚起见,显式的
):

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
    <xsl:template match="/">
        <xsl:value-of select="*/item[@filter = 1][1]"/>
    </xsl:template>
</xsl:stylesheet>
<structure>
   <item filter="0">1 do not display</item>
   <item filter="1">2 display</item>
   <item filter="1">3 display</item>
   <item filter="0">4 do not display</item>
</structure>
/*/item[@filter = 1][position() > 1]