从响应

时间:2017-08-22 12:40:06

标签: regex apache-nifi

我的回答是这样的:

<Result xmlns="olineservice" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ResponseStatus>false</ResponseStatus>
<Error>
<ErrorCode>-7</ErrorCode>
<ErrorDescription>data  wasn't  found</ErrorDescription>
</Error>
</Result>

我想从响应流文件中提取ErrorCode值并检查它是否等于-7,如果是,我将要记录它。 我在ExtractText处理器中试过这个:${flowfile.content}=(.*?)[a-zA-Z0] 但它对我没有用,并且有类似的例外:

  1. 我应该更改什么来获取ErrorCode
  2. 的值

    enter image description here

1 个答案:

答案 0 :(得分:3)

由于您的输入是XML,因此您可能会发现EvaluateXPathEvaluateXQuery更有用。对于EvaluateXPath,请尝试//ErrorCode作为路径,它应将-7提取到属性或内容中(取决于Destination属性的设置)