Хорошо, я думаю, что вижу проблему сейчас,
for each (var element:XML in students)
будет зацикливаться только один раз, потому что весь XML студентов находится в студентах, у которых нет свойства student_state, вы, вероятно, имеете в виду
for each (var element:XML in students.children())
тогда вы зацикливаетесь на студенческом узле, у которого действительно есть child student_state. Так что это должно работать, даже без метода toString () (не уверен в этом, так что вы можете попробовать оба варианта).
Ознакомьтесь с функцией trace (), которую вы можете использовать для вывода информации на консоль. если бы вы добавили trace(element.toXMLString())
в свой цикл for, вы бы видели это сами.