How to get the parent node name of the current node?

43,790

Solution 1

Use:

name(..)

The .. abbreviation is a shorthand for parent::node().

Do note: Not every parent has a name. For example the document node (/) is the parent of the top element (/*) of the document and has no name.

Solution 2

name(parent::*) should do it. There's only going to be one parent, obviously.

Share:
43,790
user851380
Author by

user851380

Updated on March 01, 2020

Comments

  • user851380
    user851380 over 4 years

    what's the right syntax to get the current node's parent node's name? I know it's about the AxisName parent but what's the right syntax? for example of the following 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>
    

    for the element variable I should get netcdf or group. Thanks in advance.

  • Carlos Cocom
    Carlos Cocom almost 10 years
    using that for retrive parent name in my case drive to Out Memory error, instead use name(parent::*)
  • Dimitre Novatchev
    Dimitre Novatchev almost 10 years
    @CarlosCocom, This only shows that the particular XPath implementation you are using is buggy. It would be interesting if you can provide an XML document (preferably very short) and the exact XPath expression.