3

给定以下 XML:

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

如何找到包含特定元素的特定节点的第一个 Preceding Siblilng。

IE 如果我在“NodeC”,我如何找到第一个带有“ChildNodeA”的兄弟姐妹,在这种情况下是“NodeA”?

提前致谢。

4

1 回答 1

4

找到包含子元素的第一个前面的兄弟非常简单,并且确实与您描述它的方式非常匹配......

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

假设您位于NodeC上,这确实会在您的情况下返回您的NodeA

<NodeA>
  <ChildNodeA></ChildNodeA>
  <ChildNodeB></ChildNodeB>
</NodeA>
于 2012-10-11T10:24:30.743 回答