如何从XSLT中的子节点读取父节点的属性

问题描述:

只想知道如何从XSLT中的子节点(c)读取父节点(A)的属性。代码:如何从XSLT中的子节点读取父节点的属性

<A attr1="xx"> 
    <b> 
    <c> 
    </c> 
    </b> 
</A> 

XSLT:

<xsl:template match="c"> 
    <xsl:value-of select="attribute of A node"> 
</xsl:template> 

A是不实际的c父,但祖先(b是父!),但你正在寻找的代码是这样

<xsl:value-of select="ancestor::A/@attr1"> 

(您可以用替换为parentA是的直接父项)

你也可以这样做:

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

但是,这会假设A始终是“盛大parent`(即父母的父母)。