访问Objective C中的本地文件路径

问题描述 投票:0回答:1

我已经添加了一个文件夹名称Resources,在它下面有另一个文件夹名称File文件夹中有两个xml文件,我正在尝试解析。当我将pathforResource方法名称提供给我的Resources文件夹时,它显示path为null。如何从这些文件夹中访问两个xml文件?资源 - >文件 - > text.xml。我的代码是这样的,

 NSMutableArray *aryXMLName = [NSMutableArray new];
[aryXMLName addObject:@"text.xml"];
[aryXMLName addObject:@"test1.xml"];

for(NSString *str in aryXMLName){
    NSString *path = [[NSBundle mainBundle] pathForResource:str ofType:@"Resources"];
    NSLog(@"Path : %@",path);
    NSData *data=[NSData dataWithContentsOfFile:path];

    if ([str isEqualToString:@"text.xml"]) {
        if (data == nil)
            return;
        NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

        NSLog(@"string: %@", str);
        NSDictionary *xmlDoc = [NSDictionary dictionaryWithXMLString:str];
        NSLog(@"dictionary: %@", xmlDoc);
    }else if ([str isEqualToString:@"test1.xml"]){
        if (data == nil)
            return;
        NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

        NSLog(@"string: %@", str);
        NSDictionary *xmlDoc = [NSDictionary dictionaryWithXMLString:str];
        NSLog(@"dictionary: %@", xmlDoc);
    }


}

场景是这样的,

enter image description here

ios xml
1个回答
0
投票

替换此代码:

      NSMutableArray *aryXMLName = [NSMutableArray new];
      [aryXMLName addObject:@"test"];
      [aryXMLName addObject:@"text1"];

       for(NSString *str in aryXMLName){

              NSString *path = [[NSBundle mainBundle] pathForResource:str ofType:@"xml"];
              NSLog(@"Path : %@",path);
              NSData *data=[NSData dataWithContentsOfFile:path];

              if ([str isEqualToString:@"test"]) {

                   if (data == nil)
                       return;
                   NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

                   NSLog(@"string: %@", str);
                   NSDictionary *xmlDoc = [NSDictionary dictionaryWithXMLString:str];
                   NSLog(@"dictionary: %@", xmlDoc);

              }else if ([str isEqualToString:@"text1"]){

                   if (data == nil)
                      return;
                   NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

                   NSLog(@"string: %@", str);
                   NSDictionary *xmlDoc = [NSDictionary dictionaryWithXMLString:str];
                   NSLog(@"dictionary: %@", xmlDoc);
              }

        }
© www.soinside.com 2019 - 2024. All rights reserved.