如何获取当前节点的父节点名?

Posted

技术标签:

【中文标题】如何获取当前节点的父节点名?【英文标题】:How to get the parent node name of the current node? 【发布时间】:2011-10-24 18:43:50 【问题描述】:

获取当前节点的父节点名称的正确语法是什么?我知道这是关于 AxisName 父级的,但是正确的语法是什么? 比如下面的xml

<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" location="file:/dev/null" iosp="lasp.tss.iosp.ValueGeneratorIOSP" start="0" increment="1">
    <attribute name="title" value="Vector time series"/>
    <dimension name="time" length="100"/>
    <variable name="time" shape="time" type="double">
        <attribute name="units" type="String" value="seconds since 1970-01-01T00:00"/>
    </variable>
    <group name="Vector" tsdsType="Structure" shape="time">
        <variable name="x" shape="time" type="double"/>
        <variable name="y" shape="time" type="double"/>
        <variable name="z" shape="time" type="double"/>
    </group>
</netcdf>

对于元素变量,我应该得到 netcdf 或 group。提前致谢。

【问题讨论】:

【参考方案1】:

使用

name(..)

.. 的缩写是parent::node() 的简写。

请注意:并非每个父母都有名字。例如,文档节点 (/) 是文档顶部元素 (/*) 的父节点,并且没有名称。

【讨论】:

在我的情况下使用它来检索父名称驱动到 Out Memory 错误,而不是使用 name(parent::*) @CarlosCocom,这仅表明您使用的特定 XPath 实现存在错误。如果您能提供一个 XML 文档(最好很短)和准确的 XPath 表达式,那将会很有趣。【参考方案2】:

name(parent::*) 应该这样做。显然,只有一个父母。

【讨论】:

以上是关于如何获取当前节点的父节点名?的主要内容,如果未能解决你的问题,请参考以下文章

js/jquery如何获取获取父窗口的父窗口的元素

jQuery获取父节点子节点兄弟节点

jquery如何获取某一个兄弟节点,不是全部的,是指定的兄弟节点

EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中

jquery如何获得父级的父级元素?

dojo在foreach中获取当前节点的父节点