我有一个XML文档,如下所示:获取使用XPATH的XML节点的名称上蜂巢
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
在蜂房,我能够使用xpath
使用检索XML文档中的每个节点的文本以下命令:
select xpath(xml_text,'//*[name()='note']//text()') from table_test;
不过,我想不出使用的蜂巢其XPATH命令来检索文本 的XML节点名称对于上面的例子中,我希望能够回到 ["to","from","heading","body"]
,它们表示XML文件中的令牌的XML节点。 任何帮助表示赞赏。
感谢亚历克斯,自定义UDF任何建议? –
@DonGorgon你可以将[原始配置单元xpath UDF](https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/xml/ GenericUDFXPath.java)并将第83行从'getNodeValue()'更改为'getNodeName()'。也许添加一些测试,以确保节点是一个元素 –
感谢您的建议。这肯定会起作用。 –