我在解析iPhone应用程序中的一些xml数据时遇到了一个特殊问题。当我将xml数据传递给NSXMLParser类进行解析时,它会忽略实际数据开始出现的部分。它显示了数据出现之前的所有元素名称,例如Soapenvolopebody等。后来,我观察到标签出现在'& lt';和'& gt';导致问题的符号。
我希望在将其解析为NSXMLParser之前需要替换策略。我的问题是为什么iPhone以这种方式使用XML?我从php文件动态生成xml,并在加载到IE浏览器时作为XML。希望你能帮我解决这个问题。
更新
我仍在寻找解决方案。我认为将NSString转换为NSData然后将其传递给NSXMLParser的想法可以完成解析。
NSString * str = @“teststring”;
NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding];
我在下面的帖子中找到了这个,我将尝试。 How do I convert an NSString value to NSData?
更新1
我以NSData格式获取数据。转换为NSString并应用替换代码以废除& lt和& gt内容。之后,我再次将替换的NSString转换为NSData格式。但是仍然没有使用NSXMLParser正确解析xml。
答案 0 :(得分:2)
请使用此字符串函数替换unwonted字符。请参考以下代码。
NSString *theXML = [[[NSString alloc] initWithBytes: [webdata mutableBytes] length:[webdata length] encoding:NSUTF8StringEncoding]autorelease];
theXML = [theXML stringByReplacingOccurrencesOfString:@"<" withString:@"<"];
theXML = [theXML stringByReplacingOccurrencesOfString:@">" withString:@">"];
theXML = [theXML stringByReplacingOccurrencesOfString:@"&" withString:@"&"];
NSLog(@"%@",theXML);
由于