根据特定父值获取子节点

时间:2014-11-06 23:43:37

标签: xml xslt xpath

我试图根据特定的父节点值获取子节点值,但我很难让语法正确...

这是我的XML文档:

    <result>
        <heading>A</heading>
        <messages>
            <message>
                <heading>D</heading>
                <ingress>ABCD</ingress>
            </message>
        </messages>
    </result>

当标题值为A时,我试图获取入口“ABCD”。

这是我的代码。

<xsl:if test="result">  
    <xsl:variable name="parent" select="heading"/>  
    <xsl:value-of select="//message[heading=$parent]"/>  
</xsl:if>  

1 个答案:

答案 0 :(得分:1)

  

当标题值为A时,我试图获取入口“ABCD”。

尝试:

<xsl:value-of select="/result[heading='A']/messages/message/ingress" />

注意:以上使用从ingress元素开始的绝对路径,从根节点开始。根据您需要的位置,您可以使用相对节点的相对(较短)路径。