Xslt 查找具有特定元素的前一个同级
给定以下XML:Xslt 查找具有特定元素的前一个同级,xslt,Xslt,给定以下XML: <Root> <NodeA> <ChildNodeA/> <ChildNodeB/> </NodeA> <NodeB> <ChildNodeB/> </NodeB> <NodeC> </NodeC> </Root> 如何找到包含特定元素的特定节点的前一个sibling 也就是说,如果我在“Nod
<Root>
<NodeA>
<ChildNodeA/>
<ChildNodeB/>
</NodeA>
<NodeB>
<ChildNodeB/>
</NodeB>
<NodeC>
</NodeC>
</Root>
如何找到包含特定元素的特定节点的前一个sibling
也就是说,如果我在“NodeC”,我如何找到“ChildNodeA”的第一个兄弟姐妹,在这个例子中是“NodeA”
提前感谢。找到前面第一个包含子元素的同级元素非常简单,而且确实与您描述它的方式非常匹配
<xsl:apply-templates select="preceding-sibling::*[ChildNodeA][1]" />
假设您位于NodeC,那么在您的情况下,这确实会返回您的NodeA
<NodeA>
<ChildNodeA></ChildNodeA>
<ChildNodeB></ChildNodeB>
</NodeA>