У меня есть требование пройти через XML и пропустить только 3 элемента, а в следующей итерации выбрать следующие 3 из 4 до 16 и т. Д.
Я контролирую значение счетчика вне скрипта.
Я написал приведенный ниже код, однако он не работает должным образом.
<employees>
<details>
<id>1</id>
</details>
<details>
<id>2</id>
</details>
<details>
<id>3</id>
</details>
<details>
<id>4</id>
</details>
<details>
<id>5</id>
</details>
<details>
<id>6</id>
</details>
<details>
<id>7</id>
</details>
<details>
<id>8</id>
</details>
</employees>
def doc = new XmlSlurper().parseText(body);
int count = doc.details.size();
def query = "\$filter=FSE_ID eq '";
int counter = 1; // this value will come from outside the script.
int counterLimt = counter + 2;
int i= counter;
for (i = counter; i <= counterLimt; i++) {
doc.details[i].CEE_ID.each{
if(i==counterLimt){
query = query+it+"'";
}
else{
query = query+it+"' or FSE_ID eq '";
i++;
}
}
}
ожидаемый результат -
первый запуск
$ filter = FSE_ID eq '1' или FSE_ID eq '2' или FSE_ID eq '3'
следующий запуск
$ filter = FSE_ID eq '4' или FSE_ID eq '5' или FSE_ID eq '6'
Кажется, есть какая-то проблема с .each, и она не работает, как я думал.
Пожалуйста, помогите.
Спасибо
Ятан