I had similar problems when I initialized the parser with a URL.
To debug that (and see what it was trying to parse), I fetched the XML as part of a NSURLRequest and then calling [NSURLConnection sendSynchronousRequest, then initializing the parser with the returned data like this: [[NSXMLParser alloc] initWithData:receivedData];
If the parsing still gives me an error, slip that data into an NSString before calling parse so I can take a look at it.
I haven't had those errors since changing it to fetch the xml first, then initialize a parser with the data rather than initializing the parser with initwithContentsOfURL.
Brian