在我的 xml 中,我希望特定menuitems/menuitem
节点位于其父级下的不同任意位置(我不想要硬编码的位置选择器)。
是否可以menuitem
在其下的 name 元素中获得具有正确值的节点的位置,即menuitems/menuitem/name
. 简而言之:选择menuitem
它下面有正确name
值的那个。
<one>
<menuitems>
<menuitem> <!-- I dont want this one -->
<name>
...
</name>
</menuitem>
<menuitem> <!-- I want this one at position 2 under <one> -->
<name>
... <!-- Based one correct name value here -->
</name>
</menuitem>
</menuitems>
</one>
<two>
<menuitems>
<menuitem> <!-- I want this one at position 1 under <two> -->
<name>
...
</name>
</menuitem>
</menuitems>
</two>
我可以很容易地找出menuitem
下面menuitems
的值是否正确name
。像这样:
<xsl:value-of select="current()/menuitems/menuitem/name = 'OhYes'"></xsl:value-of>
哪个会返回true
。但是,这是在哪个位置menuitem
返回menuitem
的true
呢?在同一父级和同一级别下进行选择。
我想避免这种情况:
<xsl:if test="current()/menuitems/menuitem[1]/name = 'OhYes'"> .. </xsl:if>
<xsl:if test="current()/menuitems/menuitem[2]/name = 'OhYes'"> .. </xsl:if>