我有这样的NSString吗?(在iPhone应用程序中)
NSString *xmlStr = "<?xml version=1.0 encoding=UTF-8>
<information>
<name>John</name>
<id>435346534</id>
<phone>045635456</phone>
<address>New York</address>
</information>" 如何获取元素的值?(是否需要转换为XML格式并获取元素值?还是拆分字符串?无论如何,请告诉我?)
谢谢你们。
发布于 2010-02-24 16:54:15
如果您想使用拆分字符串,可以使用"componentsSeparatedByString“方法对字符串进行标记化。当然,与推荐的XMLParser相比,这种方法更为繁琐
才能得到名字。
NSArray *xmlStr_first_array = [xmlStr componentsSeparatedByString: @"<name>"];
NSString *xmlStr_split = [NSString stringWithFormat:@"%@",[xmlStr_first_array objectAtIndex:1]];
NSArray *xmlStr_second_array = [xmlStr_split componentsSeparatedByString: @"</name>"];
NSString *name = [NSString stringWithFormat:@"%@",[xmlStr_second_array objectAtIndex:0]];发布于 2010-02-24 16:52:04
您的字符串已经是xml格式,您需要对其进行解析才能检索数据。有几个选项可用-例如,您可以使用NSXMLParser类或libxml库。
编辑: XMLPerformance示例项目展示了如何使用这两种方法并比较它们的性能。
发布于 2010-02-24 16:52:27
最明显的解决方案是使用XML解析器从每个元素中检索值。
您可以使用出色的TBXML来完成此任务。它提供了一个非常简单的接口,只需几行代码就可以检索到所需的值。使用这个小库的缺点是(据我所知)它将整个XML数据加载到内存中。然而,在这种特殊情况下,这根本不是问题。
当然,也可以选择使用NSXMLParser,尽管这是一个事件驱动的解析器,因此不太容易使用。
https://stackoverflow.com/questions/2324570
复制相似问题