Hallo Jörg,
while ( ($buffer = fgets($handle)) !== false ) {
Arbeite nicht Zeilenweise, sondern mit Chunks. Ein XML-Dokument vollständig in einer Zeile ist mindestens well-formed (die DTD muss auf einer eigenen Zeile stehen) und keine Seltenheit bei maschinell erstellten Dokumenten. In dem Fall würdest du wieder das ganze Dokument in einem Rutsch lesen.
LG,
CK
 nicht angemeldet
 nicht angemeldet Der Martin
 Der Martin Auge
 Auge