在 nifi 中从 xml respose 获取数据

Getting data from xml respose in nifi

调用 invokehttp 处理器后,我得到了这样的响应数据:

<Response xmlns="">
<Result>
<ResponseStatus>false</ResponseStatus>
<Error>
<ErrorCode>-7</ErrorCode>
<ErrorDescription>not foudn</ErrorDescription>
</Error>
</Result>
</Response>

我需要 ErrorCode (-7) 的值,所以我添加了带有属性 ErrorCode 的 EvaluateXpath 处理器我使用了命令 //Error/ErrorCode/text() 但它无法在处理 EvaluateXpath 后在流文件中重新获取属性 ErrorCode( 中的错误代码数据ErrorCode 属性没有值,是空字符串)如何获取 ErrrorCode 的值?

要提取所需的值,请使用 XPath 表达式 //ErrorCode。这将 return 一个 String-7。通过选择 Destination flowfile-attribute,您可以保持流文件内容不变并将这个新值放入流文件属性中(即命名为 attribute)。

您可以将 matched 关系链接到具有表达式 ${attribute:toNumber()}UpdateAttribute 处理器以将其转换为数字表示,即 ${attribute:toNumber():plus(10)} 将 return 3