问题描述
问题在于,当我只知道父节点名称时,我无法提取特定的子节点本地名称,示例如下:
我知道父节点(根)是“公司”,即使对于其他表我总是知道第一个。我的问题是如何知道包含孙子节点的父节点的本地名称是什么。
//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/*[*/*])