2016-04-21 2 views
0
<root> 
    <risk> 
     <Category>02</Category> 
     <NCD> 
      <CoverCode>B05</CoverCode> 
      <CI> 
       <CD>3</CD> 
      </CI> 
     </NCD> 
    </risk> 
</root> 

Мне нужно проверить 2 условия, чтобы получить требуемую полезную нагрузку из вышеперечисленного. Я использую трансформацию, как показано ниже, чтобы проверить 2 условия. Я хочу получить значение CD только в том случае, если Category is 02 и CoverCode - B05.Как проверить наличие двух условий с использованием данных weave

%dw 1.0 
%output application/xml skipNullOn="everywhere" 
%namespace soapenv http://schemas.xmlsoap.org/soap/envelope/ 
--- 
{ 
    soapenv#Envelope: { 
     soapenv#Body: { 

      component:{ 
       coverageClassCode:payload.root.risk.NCD.CI.CD when payload.root.risk.Category == '02' && payload.root.risk.NCD.CoverCode == 'B05' otherwise "" , 
       blockedDr:"N" 
      } 
     } 
    } 
} 

Благодарим за помощь.

+0

Пытались ли вы это? Да, вы должны использовать 'when-else-when' или только два' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' –

+0

Да, я пробовал, но похоже, что это не так. – Neil24

+0

Добавьте код к вашему вопросу –

ответ

1

Просто измените && на and -

%dw 1.0 
%output application/xml skipNullOn="everywhere" 
%namespace soapenv http://schemas.xmlsoap.org/soap/envelope/ 
--- 
{ 
    soapenv#Envelope:{ 
     soapenv#body:{ 
      component:{ 
       coverageClassCode:payload.root.risk.NCD.CI.CD when payload.root.risk.Category == '02' and payload.root.risk.NCD.CoverCode == 'B05' otherwise "", 
       //payload.root.risk.NCD.CI.CD when payload.root.risk.Category == '02' && payload.root.risk.NCD.CoverCode == 'B05' otherwise "" , 
       blockedDr:"N" 
      } 
     } 
    } 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^