2017-12-18 120 views
0

我已经添加了一个文件夹名称资源,在它下面有另一个文件夹名文件文件夹里面有两个xml文件,我试图解析。当我给我的资源文件夹pathforResource方法名称显示路径为空。我如何从这些文件夹访问这两个XML文件? Resources-> File-> text.xml。 我的代码是这样的,访问目标中的本地文件路径C

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

回答

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); 
       } 

     } 
+0

其再次在路径给予空。 @mayursinh zala – Nabeel

+0

你必须从其名称中删除文件扩展名。检查编辑答案。 –

+0

Bro一次循环运行时给出路径,但当它进入else条件时,它显示列表中第二项的空路径。 @mayursinh zala – Nabeel