【发布时间】:2019-05-20 22:29:18
【问题描述】:
即使使用 local-name() 检索 xml 值,我仍然没有得到任何结果。
我正在使用 NiFi (apache 1.9.2) 并且我认为可能是命名空间的问题。我收到的 XML 文件如下所示:
<RCV_MSG xmlns="data" dateread="2019/02/13">
<METADATA>
<TEXT Name="filename">C:\transmit\241</TEXT>
<TEXT Name="code">8EAFB40</TEXT>
</METADATA>
</RCV_MSG>
我正在尝试使用 EvaluateXPath 处理器将值 8EAFB40 发送到流文件。
处理器中字段的内容:
Destination: flowfile-content
Return Type: string
Validate DTD: false
extract (the manditory added) : //*[local-name()-'METADATA']
我知道最后一个字段“提取”是问题...返回两个 TEXT 值,即:
C:\transmit\241
8EAFB40
我尝试了很多不同的方法来获得只是第二行,但到目前为止都没有结果(我得到的结果是空的)。顺便说一句,这是从真正的问题集中减少的......我不能只抓住第二行并完成它。我真的需要提取 XML。
【问题讨论】:
-
你能试试这个 xpath 表达式吗?
*//TEXT[2] -
我已经试过了...... :(但我不能肯定它永远是第二个。
标签: xml xslt xpath apache-nifi