Hai provato col debugger a vedere cosa succede?
Perché ad occhio pare corretto (brutto, illeggibile e poco mantenibile ma corretto).

Niente accenti, se l'editor ha una codifica diversa sballa tutto.


edit

No, è errato: quando trovi il codice articolo devi interrompere il ciclo. Ti basta un break. E un'indentazione un meno "montagne russe".