调用多个XML文件

时间:2012-10-14 04:40:09

标签: objective-c xml ipad nsxmlparser

在我的应用程序(iPad应用程序)中,我有5个文件夹,每个文件夹里面都有一个XML文件。我的问题是,如何在appDelegate中调用所有.xml文件

我有file1.xml,file2.xml,file3.xml,file4.xml,file5.xml(这是一项要求)

用于调用或添加文件1 xml的路径我有这段代码:

NSString *xml = [[NSBundle mainBundle] pathForResource:@"file1" ofType:@"xml"];
NSData *Data = [NSData dataWithContentsOfFile:xml];
NSXMLParser *Parser = [[NSXMLParser alloc] initWithData:Data];
file1 *parser = [[file1 alloc] initXMLParser];

但是如何在appDelegate类中拥有全部5个?

我是否需要为每个创建特定的解析器类,或者因为所有信息和标签都相同,我只需要在我的appDelegate中添加所有信息和标签

修改

我必须从他们的文件夹中调用它们我不能改变结构,例如

Folder1中/ file1.xml

FOLDER2 / file2.xml

Folder3 / file3.xml等

2 个答案:

答案 0 :(得分:1)

是的,您需要为正在解析的每个XML文件实例化一个NSXMLParser对象。加载XML文件的简单方法是kimsnarf说:使用for循环并按顺序加载它们。如果它们在bundle中(它们看起来像是),我会把它们放在“Resources”下的特定路径中,比如“Resources / SpecialXMLJunk”,只需通过迭代{{1}之类的结果来加载它们。 (用于从“Resources / SpecialXMLJunk”中获取XML文件)。所以,伪代码,可能是这样的:

URLsForResourcesWithExtension:subdirectory:

答案 1 :(得分:0)

创建一个for循环并逐个加载/解析文件。您应该将解析后的数据存储在某处(在缓存或数据库中),这样您就不需要在解析后保留文件和解析器。而是从缓存/数据库中检索数据。