只知道根节点名

问题描述

问题在于,当我只知道父节点名称时,我无法提取特定的子节点本地名称,示例如下:

我知道父节点(根)是“公司”,即使对于其他表我总是知道第一个。我的问题是如何知道包含孙子节点的父节点的本地名称是什么。

//companys//child::node()/text()* -> 返回孙子

答案应该是行业。这是否是任何通用逻辑,也可以给我同样的东西,但例如大孙子的父节点本地名称,因此是 3 个嵌套表的结构。

    <companies>
        <id>3</id>
        <display_name>abc</display_name>
        <fun_name>12345</fun_name>
        <industry>
            <name>System</name>
            <level_1>45</level_1>
            <level_2>4510</level_2>
            <level_3>451030</level_3>
            <level_4>45103020</level_4>     
        </industry>
        <abc>xxxxx</abc>
    </companies>

谢谢 问候 日文

解决方法

我想你想要这个

local-name(parent::*)
,

对于 companies 的孙子的父本地名称:

local-name(//companies/*/*/..)

对于曾孙:

local-name(//companies/*/*/*/..)

等等

另一种表达方式是:

local-name(//companies/*[*])

和曾孙

local-name(//companies/*[*/*])

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...