I found a fix for a single case of “Flash cannot parse this document” error when opening a file saved from Adobe Flash CS5. Here is how it happened.
A designer friend of mine upgraded to CS5 recently and sent me an email in a panic when she got this error “Flash cannot parse this document” after trying to open up a file she had just saved. While she tried to salvage some of her work from a decompiler I took a look at if we could fix the file.
Some quick Google searching came up with the right clue to figuring out what was wrong. The user wbfreek21 got me on the right path to figuring out just what happened. He talks about how he was able to fix his particular file by going into the new XML based FLA format and removing empty XML elements from the DOM here.
That’s it! Flash cannot parse this document, it’s an error in the XML! I quickly followed the instruction to open the FLA as a ZIP and started poking around in the XML files. They were large, this wasn’t a small project. Firefox has an XML parser as well but it lists out where the problem characters are, I tried opening all the files in the LIBRARY directory in Firefox and instantly found the issue. The empty character that wbfreek21 reported was this ETX (End of Text) character that had found it’s way into the document. I pulled out that character and successfully opening up the file in Flash CS5 again much to the designers joy.
Here is the step by step process I used to find and remove the problem:
- Make a copy of your corrupt FLA and put it in a fresh folder, in case you need to repeat steps
- Rename the extension on your FLA to ZIP and extract the contents to a folder
- There are several XML files in the extracted folder structure, I found my corrupt file in the LIBRARY folder but all XML files should be tested. Open each XML file in Firefox, when you reach a corrupted file you will get an error page that looks like this:
- Open that document in a text editor that can show hidden ASCII characters, I used Notepad++ but I wasn’t able to find an editor that worked for a Mac sorry, scroll to the line that Firefox reported your error on and take a look at the code in there to see what your problem area was, my XML document looked like this:
- Save your XML file with the character removed and repeat steps 3 and 4 on the same file you found an error in and the rest of the XML files in the folder structure.
- Now open up your XFL file in the root of your extracted folder structure, you shouldn’t get any errors, if you get a parse error again repeat steps 3 through 5. Use Save As to make a copy of your file as a FLA, you’re all set!