You're making the assumption that you only get one -parser:foundCharacters:
delegate method for the text. In this case, that's wrong. You're getting two calls to -parser:foundCharacters:
, the first being the text up to the accented character, and the second being the text after it. Your logs even demonstrate this.
Therefore, what you need to do is, when you start a new element, you should also initialize a new NSMutableString*
instance. Then when you get -parser:foundCharacters:
you append to this string instead of replacing it. When the tag closes, this string now contains all of the text in the tag, instead of just the last text block.