La solution à ce problème particulier pour moi était qu'il y avait un inutile Byte Order Mark au tout début du fichier, que j'ai dû supprimer. Lors de l'inspection du fichier avec un éditeur hexadécimal, j'ai vu comme suit les principaux octets du fichier:
EF BB BF
Le Flash Player 9 runtime a apparemment un problème avec ce Byte Order Mark sur un fichier UTF-8, est inutile car il n'y a pas de commande d'octets en UTF-8, par opposition à UTF-16 et UTF-32. Flash Player 10 n'a aucun problème avec cette marque de commande d'octets.
Cela explique, pourquoi this other blog entry documents que la solution suivante a fonctionné pour eux:
xmlString = xmlString.substr(1);
Cette solution particulière n'a pas fonctionné tout à fait pour moi, car il déplacé l'erreur d'exécution Flash Player 10 utilisateurs, au lieu de Flash Player 9 utilisateurs. Puisque nous avions le contrôle de l'entrée XML, nous pouvions simplement le modifier, mais si le XML provenait d'une source que nous ne contrôlions pas, je suppose que nous aurions pu tester le ByteArray pour la nomenclature principale et l'ignorer comme indiqué ci-dessus.
Plusieurs entrées de blog ont été utiles pour confirmer que la nomenclature était le problème, comme celui-ci entry, dans lequel un intervenant affirme que sa solution à la même erreur d'exécution 1088 était:
For me the problem was XML saved in UTF with BOM.
En outre, this other blog entry fourni plus de confirmation du même problème survenant en Java:
When dealing with a UTF-8 encoded RSS feed, this three-byte pattern (0xEF 0xBB 0xBF) in >the prolog can cause all sorts of interesting XML parsing problems
Et si vous ajoutez un xml version = "1.0" encoding = "UTF-8"?> 'au début du xml? – Amarghosh
La déclaration XML était la première chose (après la nomenclature) dans le fichier XML. –