gpt4 book ai didi

xml - Xpath/XSLT : check if following sibling is a particular node

转载 作者:数据小太阳 更新时间:2023-10-29 01:39:52 28 4
gpt4 key购买 nike

我看到过根据节点值应用 following-sibling 的问题,但我的问题与实际节点本身有关。

这是我拥有的 XML 类型:

<Employee>
<Summary>
<A>
<B>
</Summary>
<Elections>
</Elections>
<Employee>

我需要写一个Xpath条件如下:

if (NOT(the following sibling(first sibling) of /Employee/Summary is Elections)), then do something.

目前我有:

<xsl:if test="(not(following-sibling::Employee/Summary[1]='Earnings'))
<xsl:call-template name="EmployeeRecord"/>
</xsl:if>

请注意,我不是在检查节点值,而是在检查节点本身(即节点名称)。任何在正确方向上的帮助将不胜感激。

最佳答案

您走在正确的轨道上。 following-sibling 轴从上一步中的上下文节点计算。

  • 如果您正在寻找第一个元素是 /Employee/Summary 的 following-sibling,您可以使用:/Employee/Summary/following-sibling::*[1]

  • 为了评估第一个 following-sibling 是否是 Elections 元素,您可以使用额外的谓词过滤器 [self::Elections]

  • 测试是否定的,将整个东西包装在 not()

把它们放在一起,调整你的例子:

<xsl:if test="not(/Employee/Summary/following-sibling::*[1][self::Elections])">
<xsl:call-template name="EmployeeRecord"/>
</xsl:if>

关于xml - Xpath/XSLT : check if following sibling is a particular node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590520/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com