在我的应用程序(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等
答案 0 :(得分:1)
是的,您需要为正在解析的每个XML文件实例化一个NSXMLParser
对象。加载XML文件的简单方法是kimsnarf说:使用for循环并按顺序加载它们。如果它们在bundle中(它们看起来像是),我会把它们放在“Resources”下的特定路径中,比如“Resources / SpecialXMLJunk”,只需通过迭代{{1}之类的结果来加载它们。 (用于从“Resources / SpecialXMLJunk”中获取XML文件)。所以,伪代码,可能是这样的:
URLsForResourcesWithExtension:subdirectory:
答案 1 :(得分:0)
创建一个for循环并逐个加载/解析文件。您应该将解析后的数据存储在某处(在缓存或数据库中),这样您就不需要在解析后保留文件和解析器。而是从缓存/数据库中检索数据。