2012-10-11 62 views
3

找到第一個前置兄弟與給定下面的XML特定元素

<Root> 
    <NodeA> 
    <ChildNodeA/> 
    <ChildNodeB/> 
    </NodeA> 
    <NodeB> 
    <ChildNodeB/> 
    </NodeB> 
    <NodeC> 
    </NodeC> 
</Root> 

如何查找包含特定元素的特定節點的第1跟前Siblilng。

I.E.如果我在「NodeC」,我如何找到帶有「ChildNodeA」的第一個Sibling,在這個例子中是「NodeA」?

在此先感謝。

回答

4

要查找包含一個子元素是相當直接的,確實非常匹配您所描述的方式第一前置兄弟....

<xsl:apply-templates select="preceding-sibling::*[ChildNodeA][1]" /> 

假設你被定位在NODEC,這確實會返回你的NodeA在你的情況下

<NodeA> 
    <ChildNodeA></ChildNodeA> 
    <ChildNodeB></ChildNodeB> 
</NodeA> 
相關問題