加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – Xpath / XSLT:检查以下兄弟节点是否是特定的节点

发布时间:2020-12-16 07:55:08 所属栏目:百科 来源:网络整理
导读:我已经看到了基于节点的值应用以下兄弟节点的问题,但我的问题与实际节点本身有关. 这是我所拥有的XML类型: Employee Summary A B /Summary Elections /ElectionsEmployee 我需要写一个Xpath条件如下: if (NOT(the following sibling(first sibling) of /Em
我已经看到了基于节点的值应用以下兄弟节点的问题,但我的问题与实际节点本身有关.

这是我所拥有的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>

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

你在正确的轨道上.以下兄弟轴从上一步中的上下文节点求值.

>如果您正在寻找/ Employee / Summary的以下兄弟节点的第一个元素,则可以使用:/ Employee / Summary / following-sibling :: * [1].
>为了评估第一个以下兄弟是否是Elections元素,您可以使用附加的谓词过滤器[self :: Elections].
>测试的否定,将整个事情包装在not()

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读