我正在尝试编写一个xpath查询来从xml文档中提取数据 . 不幸的是,该文档中嵌入了一个xml片段,似乎已经失去了编码(<已成为&lt>已成为&gt等) .
xml doc的一个示例是:
<OrderData xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Id>1</Id>
<RawData><?xml version="1.0" encoding="UTF-16"?>
<Data xmlns="nnn-mmm-com">
<Order Action="Remove" >
<Instrument InstID="1"></Order><
/Data>
</RawData>
</OrderData>
我正在尝试提取以下值:Id Action InstID
获取Id是没有问题的,但是在RawData内部钻取片段已经超出了我的范围 . 任何指针都感激不尽
(我打算在Hive中使用Hive-XML-SerDe执行xpath查询,它是xpath 1.0)
谢谢
1 回答
使用XPath 3.1,您可以解析嵌入的XML文档并将其转换为节点树,然后可以使用路径表达式处理该节点树 . 所以:
应该得到你想要的 .
你没有说你的库支持哪个版本的XPath,这通常意味着它只支持1.0,所以你可能需要找到一个不同的库 .