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

xml – 如何使用XPath在祖先或自身节点列表中查找最近的祖先

发布时间:2020-12-16 23:14:08 所属栏目:百科 来源:网络整理
导读:我有一个具有重复元素的结构,如下所示: a b a /a /b a b a c att="val" / /a /b /a/a 当我使用XPath时,假设c节点是$currentNode xsl:value-of select="($currentNode/ancestor-or-self::a)" / 我得到一个与表达式匹配的无序节点列表.我需要的是始终让节点最
我有一个具有重复元素的结构,如下所示:

<a>
  <b>
    <a>
    </a>
  </b>
  <a>
    <b>
       <a>
         <c att="val" />
       </a>
    </b>
  </a>
</a>

当我使用XPath时,假设c节点是$currentNode

<xsl:value-of select="($currentNode/ancestor-or-self::a)" />

我得到一个与表达式匹配的无序节点列表.我需要的是始终让节点最靠近树,如分支中最深或最高的@level.

不幸的是,我不能像这样使用XPath 2 max-function:

<xsl:value-of select="($currentNode/ancestor-or-self::a)[max(@level)]" />

请注意,最近的a节点并不总是正好位于上下文之上,只是在某处…

任何建议赞赏!

问候
亚历克斯

解决方法

我想你会得到一组有序的节点,从父节点到祖先节点.

尝试使用$currentNode / ancestor-or-self :: a [1]来获取c att =“val”的父级.

(编辑:李大同)

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

    推荐文章
      热点阅读