NSXMLParser对&符号进行扼流

Sil*_*men 3 iphone cocoa objective-c nsxmlparser

我正在使用NSXMLParser解析一些HTML,并且只要遇到&符号就会遇到解析器错误.在解析它之前我可以过滤出&符号,但我宁愿解析那里的所有内容.

它给了我错误68,NSXMLParserNAMERequiredError:名称是必需的.

我最好的猜测是它是一个字符集问题.我对字符集的世界有点模糊,所以我认为我的无知正在咬我的屁股.源HTML使用charset iso-8859-1,所以我使用此代码初始化Parser:

NSString *dataString = [[[NSString alloc] initWithData:data encoding:NSISOLatin1StringEncoding] autorelease];
NSData *dataEncoded = [[dataString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES] autorelease];
NSXMLParser *theParser = [[NSXMLParser alloc] initWithData:dataEncoded];
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Ben*_*Cox 7

对其他海报:当然XML无效......它是HTML!

您可能不应该尝试将NSXMLParser用于HTML,而是使用libxml2

有关原因的详细信息,请查看此文章.