在nifi流程中将电子符号转换为数字

时间:2018-07-13 13:50:32

标签: xml numbers apache-nifi

我正在构建一个摄取.xml文件的nifi进程。我有一个.xml,其中所有数字字段都以E标记形式通过,即1.6777777777E-001。我正在尝试找出获取该.xml文件并转换所有数字列并返回更新的.xml的最佳方法?

1 个答案:

答案 0 :(得分:1)

您可以探索使用带有表达式语言数学运算的ReplaceText处理器来执行此操作,但是我认为这可能很脆弱。我的建议是使用ExecuteScript处理器,它使用Groovy解析XML,过滤具有与正则表达式匹配的值的元素,然后使用Groovy / Java本机数学库将其转换为十进制或任何其他格式并输出更新的XML。应该做起来很简单;有number of examples个可用。

如果您打算在单个流文件中接收多个XML文档,则还可以使用UpdateRecord处理器,将读取器或写入器设为Scripted*来进行此转换。