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

Xml 在nifi过程中将电子符号转换为数字,xml,numbers,apache-nifi,Xml,Numbers,Apache Nifi,我正在构建一个接收.xml文件的nifi进程。我有一个.xml文件,其中所有的数字字段都以电子符号的形式出现,即1.6777E-001。我正在尝试找出获取该.xml文件并转换所有数值列并返回更新的.xml的最佳方法?您可以使用带有表达式语言数学操作的ReplaceText处理器进行探索,但我认为这可能非常脆弱。我的建议是使用ExecuteScript处理器,它使用Groovy解析XML,过滤具有与正则表达式匹配的值的元素,然后使用Groovy/Java本机数学库将其转换为十进制或任何其他您想要的

我正在构建一个接收.xml文件的nifi进程。我有一个.xml文件,其中所有的数字字段都以电子符号的形式出现,即1.6777E-001。我正在尝试找出获取该.xml文件并转换所有数值列并返回更新的.xml的最佳方法?

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

如果计划在单个流文件中接收多个XML文档,还可以使用处理器,使读卡器或写卡器
Scripted*
允许此转换