我有一個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()'。也許添加一些測試,以確保節點是一個元素 –
感謝您的建議。這肯定會起作用。 –