iPhone解析XML数据,标签未出现
Posted
技术标签:
【中文标题】iPhone解析XML数据,标签未出现【英文标题】:iPhone parsing of XML data, Tags not appearing 【发布时间】:2012-03-31 16:43:18 【问题描述】:我在解析我的 iPhone 应用程序中的一些 xml 数据时遇到了一个特殊的问题。当我将 xml 数据传递给 NSXMLParser 类进行解析时,它会忽略实际数据开始出现的部分。它显示了数据出现之前的所有元素名称,例如 Soapenvolopebody 等。后来,我观察到标签出现在 '<';和 '>'; 导致问题的符号。
我希望在将其解析为 NSXMLParser 之前需要一个替换策略。我的问题是为什么 iPhone 以这种方式采用 XML?我从 php 文件动态生成 xml,并在加载到 IE 浏览器时以 XML 的形式出现。希望您能帮我解决问题。
更新
我仍在寻找解决方案。我认为将 NSString 转换为 NSData 然后将其传递给 NSXMLParser 的想法可以完成解析。
NSString* str= @"teststring"; NSData* 数据=[str dataUsingEncoding:NSUTF8StringEncoding]; 我在下面的帖子中发现了这一点,我将尝试一下。 How do I convert an NSString value to NSData?
更新 1
我得到 NSData 格式的数据。转换为 NSString 并应用替换代码来消除 < 和 > 的东西。之后,我再次将替换的 NSString 转换为 NSData 格式。但是使用 NSXMLParser 仍然无法正确解析 xml。
【问题讨论】:
你能给我xml文件数据吗,我会给你一个xml解析工作代码为你的xml 【参考方案1】:请使用此字符串函数替换不常见的字符。请参考以下代码。
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);
谢谢
【讨论】:
以上是关于iPhone解析XML数据,标签未出现的主要内容,如果未能解决你的问题,请参考以下文章