xslt选择c的值,其中d等于带本地名称的BBB

时间:2015-06-30 20:03:57

标签: xslt

<abc>
    <loop>
        <a>
            <b>
                <c>hugo</c>
                <d>AAA</d> 
            </b>
        </a>
    </loop>
    <loop>
        <a>
            <b>
                <c>Boss</c>
                <d>BBB</d>
            </b> 
        </a>
    </loop> 
</abc>

我正在尝试获取c的值d等于BBB。我被迫使用本地名称而不是/loop/a/b[d='BBB']/c

1 个答案:

答案 0 :(得分:1)

  

我不知道命名空间

也许你最好还是努力解决这个问题,因为替代方案并不漂亮。

无论如何,你可以使用:

<xsl:value-of select="/*[local-name()='abc']/*[local-name()='loop']/*[local-name()='a']/*[local-name()='b'][*[local-name()='d']='BBB']/*[local-name()='c']"/>

或:

<xsl:value-of select="/*/*/*/*[*='BBB']/*[local-name()='c']"/>

或两者之间的任何内容。