通过xpath选择动态标签名称

时间:2015-10-22 05:46:53

标签: xml xslt xpath

我有xml有三种类型的孩子,比如这个

1:
<root>
   <child1>
2:
<root>
   <child2>
3:
<root>
   <child3>

我想通过使用xpath select来获取每个xml的子标签名称。 应该是什么xpath语法?

我尝试了很多但无法解决问题。

2 个答案:

答案 0 :(得分:1)

使用: name(/*/*)

name()函数或local-name()可用于获取元素的名称。 local-name()删除了前缀部分。

答案 1 :(得分:0)

您可以使用以下xpath获取“具体”子标记:

//root/*[starts-with(name(), 'child')]

因为您感兴趣的所有标签都以'child'开头,所以在每种情况下都可以获得正确的节点。

要打印标签名称,您可以选择@Lingamurthy CS的解决方案:

只需使用name(yournode)local-name(yournode)

即可

这假设您的示例是正确的,您感兴趣的标签是root的直接子项。