Die eine Variable könntest du noch einsparen.
Delphi-Quellcode:
aXmlTimeTexteDe[ix+1].sId := iXmlAttributList[0].Text;
// oder besser
aXmlTimeTexteDe[ix+1].sId := iXmlAttributList['id'].Text;
Aber geht es über den Namen nicht?
Wäre zumindestens besser, falls die Reihenfolge mal nicht genau stimmt.