Objective-c在线读取xml并将值存储在Array数据结构中

时间:2011-01-12 09:28:04

标签: iphone objective-c xml currency

我必须阅读此链接的xml

http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml

并将其解析为具有关联货币/汇率的数组

示例:

USD = 1.2948

我知道我可以使用NSParser,但我不知道如何创建一个循环来设置数组的字段。

谢谢大家

4 个答案:

答案 0 :(得分:1)

如果您的意思是NSXMLParser,那就是SAX风格的解析器,这意味着您可以从文件的开头到结尾单向运行XML树。每次解析器遇到重要的事情时,它都会调用其委托方法之一。在这些方法中,您可以通过一次添加一个值来读取值并填充数组。

一开始看起来很尴尬,代码可能变得非常冗长,有很多条件。但SAX解析速度快,内存占用少。

我强烈建议从Apple here开始,研究Apple关于事件驱动的XML编程的文档中的示例。

答案 1 :(得分:0)

// result array is get after use NSXMLPARSER
for (int i=6;i<[resultArray count];i++)
{
   [currencyDict setvalue:[[resultArray Objectatindex:i] valueforkey:@"rate"]
                   forkey:[[resultArray Objectatindex:i] valueforkey:@"currency"]];
}

使用此方法,您将获得此格式的货币兑换率USD = 1.2948,THB = 39.504等

如果不明白,那么发表评论问问题

答案 2 :(得分:0)

此链接非常有用。它非常简单,易于快速实施

how to parse xml using libxml2 in iphone

干杯

答案 3 :(得分:0)