XML从ExecuteSQL到PutMarkLogic

Dav*_*sel 2 marklogic apache-nifi

我已经使用ExecuteSQL处理器来运行存储过程,从而产生一行,其中包含一个名为"xml"的列,其中包含由存储过程生成的XML.该PutMarkLogic处理器预计未来FlowFiles的内容,它刚才的XML.如何将FlowFile内容转换为正确的形式?

来自ExecuteSQL的FlowFiles的内容看起来像这样:

Objavro.schema?{"type":"record","name":"NiFi_ExecuteSQL_Record","namespace":"any.data","fields":[{"name":"xml","type":["null","string"]}]}avro.codenull:info><es:title>instance</es:title><es:version>1.0.0</es:version></es:info><!-- more XML--></es:envelope>
Run Code Online (Sandbox Code Playgroud)

这就是我在将failed关系指向PutFile 时所看到的(它将二进制文本写为文本,因此在那里有一些时髦的控制字符).我在内容中想要的只是XML内容.

dag*_*ett 5

使用以下流程:

ExecuteSQL -> ConvertAvroToJson -> EvaluateJsonPath -> PutMarkLogic 
Run Code Online (Sandbox Code Playgroud)

不要忘记将EvaluateJsonPath输出设置为内容而不是属性