我正在构建一个摄取.xml文件的nifi进程。我有一个.xml,其中所有数字字段都以E标记形式通过,即1.6777777777E-001。我正在尝试找出获取该.xml文件并转换所有数字列并返回更新的.xml的最佳方法?
答案 0 :(得分:1)
您可以探索使用带有表达式语言数学运算的ReplaceText
处理器来执行此操作,但是我认为这可能很脆弱。我的建议是使用ExecuteScript
处理器,它使用Groovy解析XML,过滤具有与正则表达式匹配的值的元素,然后使用Groovy / Java本机数学库将其转换为十进制或任何其他格式并输出更新的XML。应该做起来很简单;有number of examples个可用。
如果您打算在单个流文件中接收多个XML文档,则还可以使用UpdateRecord
处理器,将读取器或写入器设为Scripted*
来进行此转换。